0

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 :)

tauran
  • 7,986
  • 6
  • 41
  • 48

1 Answers1

1

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.

Vladimir Prus
  • 4,600
  • 22
  • 31
  • Basically this did the trick. (I also had to link boost-date_time manually to boost-thread. And some more tweaks in the mongodb scons file...) – tauran Dec 20 '10 at 10:04