当我使用 C++11 支持(使用-std=c++11
标志)编译我的代码并使用非仅标头 Boost 库时,我需要使用-std=c++11
. 这是因为 Boost 在启用 C++11 时在头文件中存在一些接口差异,并且对于不同的 C++ 标准,一些函数签名也不同。
我的问题是 C++14 是否也是如此(使用 g++ 4.9,带有 `-std=c++1y 标志),或者使用 C++11 编译的 Boost 用于使用 C 编译的程序是否安全++14?
这是一个非常广泛的问题,很难明确回答,因为
您可能需要仔细阅读编译器错误(如果有)并将它们与下面列出的重大更改列表进行比较。此外,我建议遵循Boost 测试工具来查找适用于您的系统的可疑编译器/库组合。
一些相关的问答在这里: