VS2015编译问题:“_InterlockedDecrement”: 找不到标识符
问题:
在使用VS2015编译时,遇到了如下问题,定位到了..\windows kits\8.1\include\um\winbase.h文件,而该文件是系统提供的,不应该找不到标识符。
错误列表如下:
解决方法:
关于这个问题,我找了很久,但是网上的解决方法很少,这里列出我摸索出的解决方法,希望对大家有所帮助。
1.原因描述:
我为了修改Release x86下的Bug胡乱修改了“属性管理器”界面下“项目-》属性”选项卡里的东西,修改该属性选项卡里的内容会影响到整个VS环境。现在我改成Debug x64环境下,运行以前没有问题的程序,就出现了上述错误。所以现在要做的就是,把修改了的属性还原即可。而“解决方案管理器”下的“项目-》属性”则是只影响当前项目属性。)
2.方法
路径:“属性管理器-》界面下“项目-》属性-》通用属性-》C/C++-》预处理器-》预处理器定义”:删除不必要的定义内容,如我之前为补Bug添加的“_X86_”,可以保留“_CRT_SECURE_NO_WARNINGS、_SCL_SECURE_NO_WARNINGS”等;
路径:“属性管理器-》界面下“项目-》属性-》通用属性-》C/C++-》代码生成-》运行库”:Debug模式选择“多线程调试 DLL (/MDd)”,Release模式选择“多线程调试 (/MTd)”,即恢复到最初模式;
路径:“解决方案管理器-》项目-》属性-》配置属性-》C/C++-》代码生成-》运行库”:Debug模式选择“多线程调试 DLL (/MDd)”,Release模式选择“多线程调试 (/MTd)”,与当前使用模式保持一致。