C++ Visual Studio 2012静态库与Visual Studio 2017

C++ Visual Studio 2012静态库与Visual Studio 2017,c++,static,shared-libraries,C++,Static,Shared Libraries,我正在使用Visual Studio 2012(C++)构建一个静态库,并希望将它提供给使用Visual Studio 2017的用户,以便他们可以构建自己的应用程序并与之链接。我还将提供头文件供他们使用(但没有构建库的源代码)。问题是,他们能够使用2012静态库吗 绝对不是 他们需要自己构建静态库,或者您必须发布2017版本,并全面告诉他们使用了哪些编译器和优化设置。因此,如果我是你,我会选择前者 构建应用程序二进制接口(简称ABI)在C++中是极具挑战性的,这是一个在语言的基础上丢失的东西,

我正在使用Visual Studio 2012(C++)构建一个静态库,并希望将它提供给使用Visual Studio 2017的用户,以便他们可以构建自己的应用程序并与之链接。我还将提供头文件供他们使用(但没有构建库的源代码)。问题是,他们能够使用2012静态库吗

绝对不是

他们需要自己构建静态库,或者您必须发布2017版本,并全面告诉他们使用了哪些编译器和优化设置。因此,如果我是你,我会选择前者


构建应用程序二进制接口(简称ABI)在C++中是极具挑战性的,这是一个在语言的基础上丢失的东西,在C.< /P> < P>不能混合平台工具集。

但是,如果同时安装了两个版本,则可以通过解决方案中的所有项目属性将2017 IDE与2012平台工具集一起使用


更好的解决方案是将相关库升级到2017年,这在大多数情况下不会太麻烦。

取决于您有多少个
auto_ptr
s;-)。另外,VS2017对越界数组和
std::vector
access的要求更高。但这是一个很好的答案,+1。