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