How to see what g++ command-lines Boost.Build invo

2019-02-14 18:19发布

问题:

I'm scratching my head, trying to figure out why the import libraries are not generated when I build the Boost libraries on my machine. More specifically, building the DLLs works fine, but where I would previously (i.e. before I reinstalled my machine) generate the import libraries correctly.

Some specs:

  • Boost 1.33.1
  • g++ 4.3.3 TDM-1 release for Windows
  • Building with gcc toolset from MS Dos command-line prompt
  • UnxUtils (after 14-04-03)

The command-line that invokes bjam.exe looks like this:

"C:\.../boost_1_33_1/tools/build/jam_src/bin.ntx86/bjam.exe" --debug-configuration -d2 -q --builddir=C:/.../trunk/XTemp/gcc.debug/boost_1_33_1 toolset=gcc threading=multi define=BOOST_WINDOWS define=_GLIBCXX__PTHREADS linkflags=-shared-libgcc runtime-link=shared variant=debug --v2  linkflags=-out-implib=boost_thread.lib

This used to work wonderfully before and produced the desired file boost_thread.lib, but not anymore. I really don't know what's going on and I would like to know exactly what the linker receives on the command-line and what it thinks it should do with it.

Thanks,

Carl

回答1:

The -d2 should give you exactly what you are looking for. I'm surprised it hasn't worked. Perhaps it is hidden in other messages. Try omitting the --debug-configuration and replacing -d2 with -d+2. The latter will print the commands bjam invokes in addition to bjam non-debug messages.