libcxx
用于依赖项中,以及用于构建应用程序的依赖项。
在g++(linux)中,有两种标准库模式可供使用,
libstdc++
,没有C++ 11的支持,
libstdc++11
libcxx数据库
.
-
libstdc++11库
默认为g++>=5,但这也取决于linux发行版。即使你在像ubuntu14这样的老发行版中安装了g++>=5,默认的
libcxx数据库
仍将是
,显然要升级它而不中断是不容易的。在开源中使用的非常流行的CI服务(如travis CI)也使用了较旧的linux发行版,因此
图书馆++
连锁是最流行的。
-
是g++<5的默认值。
图书馆++
,即使是现代发行版中的现代编译器。您可以在第一次执行conan时读取默认配置文件,但也可以在
.conan/profiles/default
,或用
conan profile show default
libcxx数据库
如果可能,将为每个编译器检测。
因此,如果您不更改默认配置文件(建议在生产中使用您自己的配置文件),那么当您执行
conan install
,安装的依赖项是根据
. 请注意
柯南安装
在大多数情况下,它是独立于构建的,它只是下载、解压和配置所需的依赖项,以及请求的配置(来自默认概要文件)。
那么,当你在建筑的时候,如果你没有改变
_GLIBCXX_USE_CXX11_ABI
,则可以使用系统编译器默认值,在本例中,
有几种方法可以解决这个问题:
-
使用构建应用程序
图书馆++
我也是。确保定义
_GLIBCXX_USE_CXX11_ABI=0
.
-
安装的依赖项
. 编辑要使用的默认配置文件
libstdc++11库
,然后发布新的
柯南安装