我有第三方库,它是一个静态 .lib 文件,他们告诉我是用 VS2010 编译的。我们在 VS2013 中开发我们的应用程序,需要链接到这个库。
当我们尝试时,我们得到这个错误:
error C1047: The object or library file '.../xxx.lib' was created with an older compiler than other objects; rebuild old objects and libraries
这是否意味着我们必须使用 VS2010 编译器才能链接到它? (我们无法获得库的重新编译版本)
最佳答案
或多或少;是的。
通常,C++ 程序的所有部分都需要使用完全相同的编译器(包括完全相同的编译器版本)进行编译和链接。
通常在构建不同部分时,您还需要使用相同的编译器选项。
也有异常(exception),但这是一般的经验法则。
没有标准化的 C++ ABI。
关于c++ - 当我用 VS2013 编译时链接到用 VS2010 编译的静态 .lib?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38207045/