在 c++ vs140 (Visual Studio 2015) 下编译的 Visual Studio 项目中使用在 vs80 (Visual Studio 2005) 下编译的静态库

Using static libraries compiled C++ under vs80 (Visual Studio 2005) in a Visual Studio project compiling under c++ vs140 (Visual Studio 2015)

是否可以在 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?',在这种情况下答案似乎是'yes with caveats',但我对静态库没有经验,想知道是否同样适用在vs80下编译到vs140的c++静态库。

编辑:我想补充一点,我尝试移植的库相当小且简单,不访问全局变量或以任何方式依赖 'extern C'

通常,您需要使用 完全 相同的编译器构建 所有 代码(包括您使用的库)。无法保证由不同编译器(甚至不同的次要版本)生成的代码可以链接在一起并产生可用的结果 - 它有时 似乎 可以工作,只是变得令人讨厌且难以使用稍后在运行时诊断问题,所以不要那样做。