【发布时间】:2017-10-25 04:41:29
【问题描述】:
可以在 c++14/17 项目中使用使用 C++11 编译的二进制文件吗? c++17项目中的c++14二进制库呢?
或者是否需要使用与项目相同的标准更新和重新编译源代码?
还有其他方法可以将旧标准 C++ 库包含在新标准项目中吗?
【问题讨论】:
-
标准对此只字未提。这取决于您的编译器工具链。
-
@RaymondChen 你能提供一些关于你在实践中看到的东西的见解吗?
-
在我从事的项目中,一切都是用完全相同版本的编译器编译的。当编译器升级到 C++14 时,整个项目将使用新的编译器重新编译。这样就不会出现不匹配的情况。
-
@RaymondChen 所以所有库源代码都经过检查/更新,以确保它符合新标准(假设库由于某种原因不向前兼容)?
-
恕我直言,这个问题相当于不同编译器或不同编译器版本构建的链接库。大多数情况下它有效,但没有任何承诺。
标签: c++ c++11 c++14 standards c++-standard-library