0

I want to install MongoDB C++ client. I read in its manual that:

On systems offering multiple C++ standard libraries, you must ensure that the standard library linked into boost matches that linked into the driver.

My O.S is ubuntu 14.04.
Does the above quote applies to my system?
How do I ensure which standard library is linked into the boost which I installed apt-get install libboost-all-dev?
In case libboost-all-dev is not linked against c++11, do I need to build from source?
My application is going to be using multi threading, do I need to make sure boost, mongodb C++ client and other libraries are linked using some multi threaded flag?

kroiz
  • 1,722
  • 1
  • 27
  • 43
  • Ok, I realize now that standard library means whether the system have libstdc++ or libc++. Which is not applicable to ubuntu but rather to mac. – kroiz Oct 28 '15 at 12:56

1 Answers1

0

Ubuntu is not a system that is offering multiple C++ standard libraries. e.g. in ubuntu you would use GPLish libstdc++ and don't need the libc++.

I don't know how to tell whether the boost package for ubuntu was linked with c++11 but it must have since once I matched my mongo to be linked with c++11 it - mongo stopped crashing.

So if you are using ubuntu and want to use mongo legacy c++ driver you should build mongo with the c++11 flag.
for example:

scons --c++11 install
kroiz
  • 1,722
  • 1
  • 27
  • 43