我有第三方库,它是一个静态的.lib文件,他们告诉我是用VS2010编译的。我们在VS2013中开发我们的应用程序,需要链接到这个库。
当我们尝试时,我们会收到此错误:
错误C1047:对象或库文件' ... / xxx.lib'是用。创建的 比其他对象更旧的编译器;重建旧物体和 库
这是否意味着我们必须使用VS2010编译器链接到它? (我们无法获得该库的重新编译版本)
答案 0 :(得分:4)
或多或少;是
通常,C ++程序的所有部分都需要编译并与 exact 相同的编译器链接(包括精确的编译器版本)。
通常在构建不同的部分时也需要使用相同的编译器选项。
有例外,但这是一般的经验法则。
没有标准化的C ++ ABI。