https://rurandom.org/justintime/index.php?title=Getting_stuff_to_build_with_conan&feed=atom&action=historyGetting stuff to build with conan - Revision history2024-03-29T13:18:00ZRevision history for this page on the wikiMediaWiki 1.35.0https://rurandom.org/justintime/index.php?title=Getting_stuff_to_build_with_conan&diff=1774&oldid=prevDanny: 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..."2018-03-17T21:55:58Z<p>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..."</p>
<p><b>New page</b></p><div>==Building against boost==<br />
Using package e.g. from '''Boost/1.64.0@conan/stable''' from Remote: conan-community=https://api.bintray.com/conan/conan-community/conan.<br />
<br />
===ABI Changes===<br />
<br />
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 <code>std::__cxx11::</code> 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+.<br />
<br />
Either define the following in CMakeLists.txt (not recommended)<br />
<code><br />
add_definitions(-D_GLIBCXX_USE_CXX11_ABI=0)<br />
</code><br />
or use <code>settings.compiler.libcxx = libstdc++11</code>, either in ~/.conan/conan.conf or on the command line (-s)</div>Danny