编译器错误 C2733,无法重载具有“C”链接的函数
·
问题描述
详细信息
错误 C2733 “CreateMutexA”: 无法重载具有外部 "C" 链接的函数 PCL1 D:\PCL 1.8.1\3rdParty\Boost\include\boost-1_64\boost\interprocess\detail\win32_api.hpp 914
原因分析:
使用
extern "C"链接声明了多个重载函数。 使用"C"链接时,只有指定函数的一种形式是外部的。 由于重载函数具有相同的未修饰名,因此不能与 C 程序一起使用。由于 Visual Studio 2019 中的一致性更改,升级后可能会出现此错误。
因此使用 Visual Studio 2022可能出现错误。
/Zc:externC编译器选项检查使用extern "C"声明的函数的定义。从 Visual Studio 2019 版本 16.3 开始,
/Zc:externC选项可用。 未设置 /permissive- 选项时,此选项关闭。
解决方案:
项目右键属性》C/C++>语言》符合模式
修改符合模式为否(/permissive)

更多推荐
所有评论(0)