我已经知道它是 unsafe天真地将 g++4.4 c++98 目标文件与 g++4.7 c++11 目标文件链接起来,但我在网上看到关于 g++4.8 的意见不一。虽然目标文件格式是相互兼容的,但 libstdc++
不是,而且以不好的方式。
将 g++4.4 -std=gnu++98 目标文件与另一个使用 g++4.8 和 -std=c++11 或 -std=gnu++11 编译的目标文件盲目链接是否安全?如果是这样,为什么用 g++4.7 做同样的事情是不安全的?此外,这是否意味着带有 -std=c++11 的 g++4.7 与带有 -std=c++11 的 g++4.8 不兼容?
最佳答案
根据上一个问题的答案,答案是肯定的 g++ always backward-compatible with "older" static libraries?
基本上,答案是说您可以从 3.4 - 4.8(但不是 4.7.1)从 C++11 链接到 C++98。您只能将 C++11 链接到使用相同版本的 C++11。
关于c++ - g++4.4 c++98 目标文件是否与 g++4.8 c++11 兼容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22713479/