Actions

Difference between revisions of "Getting stuff to build with conan"

From Just in Time

(Created page with "==Building against boost== Using package e.g. from '''Boost/1.64.0@conan/stable''' from Remote: conan-community=https://api.bintray.com/conan/conan-community/conan. ===ABI Ch...")
 
(No difference)

Latest revision as of 21:55, 17 March 2018

Building against boost

Using package e.g. from Boost/1.64.0@conan/stable from Remote: conan-community=https://api.bintray.com/conan/conan-community/conan.

ABI Changes

Symptom: linker errors, specifically for functions that have std::string arguments or return types. This is due to the fact that gcc (as of gcc5?) defines the libstdc++11 standard classes to be in a namespace such as std::__cxx11:: With default configuration conan will define _GLIBCXX_USE_CXX11_ABI=0 when building boost, which will use the older libstdc++. This conflicts with regular builds on gcc5+.

Either define the following in CMakeLists.txt (not recommended) add_definitions(-D_GLIBCXX_USE_CXX11_ABI=0) or use settings.compiler.libcxx = libstdc++11, either in ~/.conan/conan.conf or on the command line (-s)