我在 Visual Studio 2015 中编译 C++ 项目时遇到上述错误,但在 2013 中编译时没有问题。该错误来自 OpenOfice SDK 中的头文件 - snprintf.h。这是导致错误的代码行:
__declspec(dllimport) int __cdecl snprintf(char *buffer, size_t count, const char *format, ...);
我相信这是因为 VC 2015 已经定义了 snprintf。 See this page for more info
该页面上的解决方案实际上与注释掉这一行相同,但对我来说不起作用,因为它会导致项目中出现许多其他错误。另外,正如我所说,这在 Visual Studio 2013 中编译没有问题,所以我想知道是否有其他人遇到过类似的问题并有办法修复此错误。
谢谢。
最佳答案
我找到了一个可能并不理想的解决方案,但它确实允许在 Visual Studio 2015 中构建解决方案而不会出现错误。
在项目属性中,我将“平台工具集”设置为来自 VS 2013 的旧版 v120_xp(VS 2015 提供 v140_xp)。
这远非完美,因为它需要 VS 2013 与 VS 2015 一起安装,显然我无法利用 v140 平台工具集中的任何新功能。
关于c++ - Visual Studio 2015 - 错误 C2375 : 'snprintf' : redefinition; different linkage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36352026/