如何在Visual Studio中解决C2733链接错误



我一直试图在MS Visual Studio 17 2022中编译自适应通信环境(ACE(项目,但遇到了大量相关的链接错误。

下面是一个例子:

1>C:Program FilesMicrosoft Visual Studio2022ProfessionalVCToolsMSVC14.33.31629includecstdlib(23,41): error C2733: 'abs': you cannot overload a function with 'extern "C"' linkage
1>C:Program Files (x86)Windows Kits10Include10.0.19041.0ucrtcorecrt_math.h(464,38): message : see declaration of 'abs'

这个问题显然不是源于ACE代码,而是源于与构建工具捆绑在一起的代码。

我的猜测是MSVC 14.33.31629和Windows Kit 10之间存在冲突。

有人对修复有什么建议吗?有没有编译器或预处理器标志可以用来缓解这种情况?我应该使用不同版本的MS Build Tool还是Windows Kit?

我通过将Windows SDK升级到10.0.20348.0版本解决了这个问题。

相关内容

最新更新