0

I've been banging my head against a brick wall for over an hour trying to figure out how to get bjam to build the libraries for the components I need. For some reason it only wants to build the thread library and nothing else. How do I get it to build specific libraries? I'm using a makefile project in VS2013 to build everything. The bjam command line ends up looking like this:

bjam.exe -a -d0 address-model=64 --stagedir="$(IntDir)." --build-type=minimal --build-dir="$(IntDir).." --layout=system variant=debug --with-thread link=static threading=multi runtime-link=shared

And the output looks like this:

Building the Boost C++ Libraries.



Component configuration:

    - atomic                   : not building
    - chrono                   : not building
    - context                  : not building
    - coroutine                : not building
    - date_time                : not building
    - exception                : not building
    - filesystem               : not building
    - graph                    : not building
    - graph_parallel           : not building
    - iostreams                : not building
    - locale                   : not building
    - log                      : not building
    - math                     : not building
    - mpi                      : not building
    - program_options          : not building
    - python                   : not building
    - random                   : not building
    - regex                    : not building
    - serialization            : not building
    - signals                  : not building
    - system                   : not building
    - test                     : not building
    - thread                   : building
    - timer                    : not building
    - wave                     : not building



The Boost C++ Libraries were successfully built!

The following directory should be added to compiler include paths:

    C:\Users\JCG\MyStuff\Checkouts\ScoreTracker\ThirdParty\Boost

The following directory should be added to linker library paths:

    C:\Users\JCG\MyStuff\Checkouts\ScoreTracker\ThirdParty\Boost\x64\Debug\lib

x64\Debug\lib\libboost_atomic.lib
x64\Debug\lib\libboost_chrono.lib
x64\Debug\lib\libboost_system.lib
x64\Debug\lib\libboost_thread.lib

Having it build just the threading stuff was fine but now I need to also build the filesystem libraries since I've just started using it, but I cannot for the life of me get it to build anything else.

Justin G
  • 776
  • 1
  • 10
  • 25
  • What boost version do you build? Note that 1.54 has some configuration issues, which prevent it from building with MSVC12. – Igor R. Sep 01 '13 at 06:15
  • I actually ran into that issue but found another answer on Stack Overflow that mentioned that the code in the trunk fixes that issue, which is what I'm currently using. I think the answer posted by thedaver64 might be just what I need. I won't have time to test it until later though. – Justin G Sep 06 '13 at 02:05

1 Answers1

2

The flag "--with-thread" is telling boost bjam to only compile the thread library. Either remove it to build everything, or add the other flags you need.

thedaver64
  • 179
  • 1
  • 1
  • 5
  • What are the flags needed for the other libraries? Is it just --with-? So for the one I'm missing would I just add --with-filesystem? I couldn't find the documentation explaining all of these seemingly hidden options for bjam anywhere. I got them from other example around the web. – Justin G Sep 06 '13 at 02:04
  • It's all actually listed on the boost web site under the documentation setting in a section called "getting started". To get a list of what libraries you build using these flags you can do "b2 --help" or "bjam --help" in the boost source folder. "So for the one I'm missing would I just add --with-filesystem?" Yes, that's right. You can also add multiple flags , and there is another flag "--without-libfoo" which will build everything except "libfoo". – thedaver64 Sep 06 '13 at 20:46