我一直试图在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版本解决了这个问题。