我已经知道,不安全很天真地将g++4.4 c++98对象文件与g++4.7 c++11对象文件链接起来,但我在web上看到了关于g++4.8的不同意见。虽然对象文件格式是相互兼容的,但libstdc++却不是,而且方式也很糟糕。
盲目地将g++4.4 -std=gnu++98对象文件与使用-std=c++11或-std=gnu++11的g++4.8编译的另一个对象文件链接是否安全?如果是这样的话,为什么对g++4.7做同样的操作是安全的;而且,这是否意味着g++4.7与-std=c++11不兼容,而g++4.8与-std=c++11不兼容?
发布于 2014-03-28 13:03:31
答案是肯定的,根据对先前问题的回答,g++总是向后兼容“旧的”静态库?
基本上,答案是您可以从C++11链接到C++98,从3.4-4.8(但不是4.7.1)。您只能使用相同的版本将C++11链接到C++11。
https://stackoverflow.com/questions/22713479
复制相似问题