Question

I'm trying to compile boost and mongodb.

I want 64bit versions, shared libs and dynamic linking to the runtime.

Boost is compiled with link=shared, runtime-link=shared, threading=multi (and some others). The lib and dll files have names like: boost_*-vc90-mt-1_41.dll

Now mongodb has per default set: /MT (multithreaded static). The linker required boost libraries with libboost_*-vc90-mt-s-1_41.dll (notice the additional lib and -s). So I changed the option to /MD (multithreaded dll) and the -sdissapeared but the libstayed. I tried it with /DBOOST_THREAD_USE_DLL /DBOOST_ALL_DYN_LINK but it doesn't change. Does the linker still look for the static libs?

Please help :)

Was it helpful?

Solution

BOOST_ALL_DYN_LINK should have done the trick. Please make sure you rebuild your project from scratch, though.

If the problem still persist, I guess you need to tell what is hiding behind the asterisk -- maybe there's a bug with a specific library.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top