metaRTC6 Visual Studio编译报错error

2023-07-10  本文已影响0人  叶迎宪

metaRTC6自带的visual studio工程,默认只编译64位版本。自己加上了32位版本之后,在编译metartc6库时会大量报错

1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(23010,82): error C3861: “__readfsdword”: 找不到标识符
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winbase.h(9543,23): error C3861: “_InterlockedIncrement”: 找不到标识符
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winbase.h(9552,28): error C3861: “_InterlockedIncrement”: 找不到标识符
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winbase.h(9564,32): error C2065: “InterlockedIncrement64”: 未声明的标识符
...

经过一轮搜索之后,怀疑是预定义宏导致的编译错误。metartc6默认的预编译宏包括

WIN32
_WINDOWS
__STDC_FORMAT_MACROS
HAVE_STRUCT_TIMESPEC
WIN32_LEAN_AND_MEAN
_AMD64_
CMAKE_INTDIR="Debug"

在删除了_AMD64 _这个宏之后,编译正常了

上一篇 下一篇

猜你喜欢

热点阅读