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 -s
dissapeared but the lib
stayed. 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 :)
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.
精彩评论