【windows + vs2017 + 编译失败总结】“__readfsdword”: 找不到标识符
问题现象
1>c:\program files (x86)\windows kits\10\include\10.0.19041.0\um\winnt.h(22953): error C3861: “__readfsdword”: 找不到标识符
1>c:\program files (x86)\windows kits\10\include\10.0.19041.0\um\winbase.h(9494): error C2065: “InterlockedIncrement64”: 未声明的标识符
1>c:\program files (x86)\windows kits\10\include\10.0.19041.0\um\winbase.h(9526): error C2065: “InterlockedDecrement64”: 未声明的标识符
1>c:\program files (x86)\windows kits\10\include\10.0.19041.0\um\winbase.h(9562): error C3861: “InterlockedExchange64”: 找不到标识符
1>c:\program files (x86)\windows kits\10\include\10.0.19041.0\um\winbase.h(9616): error C3861: “InterlockedExchangeAdd64”: 找不到标识符
1>c:\program files (x86)\windows kits\10\include\10.0.19041.0\um\winbase.h(9626): error C3861: “InterlockedExchangeAdd64”: 找不到标识符
1>c:\program files (x86)\windows kits\10\include\10.0.19041.0\um\winbase.h(9673): error C3861: “InterlockedAnd64”: 找不到标识符
1>c:\program files (x86)\windows kits\10\include\10.0.19041.0\um\winbase.h(9683): error C3861: “InterlockedOr64”: 找不到标识符
1>c:\program files (x86)\windows kits\10\include\10.0.19041.0\um\winbase.h(9693): error C3861: “InterlockedXor64”: 找不到标识符
可能原因
- 添加
#include <windows.h>
头文件 - 向win32(x86)的配置中加入了
_AMD64_
宏,去掉后就可以编译通过了