是否可以在 Visual Studio 2015 c++ 项目 (vs140) 中使用使用 vs80 (Visual Studio 2005) 编译的 C++ 静态库 (.lib)?
在类似问题中,我发现'Can I use a Visual Studio 6 compiled C++ static library in Visual Studio 2008?' ,在这种情况下,答案似乎是“是的,但有警告”,但我对静态库缺乏经验,想知道在 vs80 到 vs140 下编译的 c++ 静态库是否也是如此。
编辑:我想补充一点,我尝试移植的库相当小且简单,并且不访问全局变量或以任何方式依赖“extern C”
最佳答案
通常,您需要使用完全相同相同的编译器来构建所有代码(包括您使用的库)。无法保证不同编译器(甚至不同的次要版本)生成的代码可以链接在一起并产生可用的结果 - 有时它可能似乎可以工作,但稍后会变得令人讨厌且难以诊断问题在运行时,所以不要这样做。
关于c++ - 在 c++ vs140 (Visual Studio 2015) 下编译的 Visual Studio 项目中使用在 vs80 (Visual Studio 2005) 下编译 C++ 的静态库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39496432/