VS2010 中常见的错误

 

 

 

1. error MSB4044: 未给任务“CppClean”的必需参数“FoldersToClean”赋值
   The "CppClean" task was not given a value for the required parameter "FoldersToClean"



解决办法:工程 - 属性 - 配置属性 - 常规 - 中间目录,为空导致这个错误。写入$(Configuration)即可。




2.error D8016: '/ZI' and '/GL' command-line options are incompatible  


解决办法:把Debug调试项改为/ZI /Od ;  Project Settings 项->C/C++ -> General  




3.fatal error C1189: #error :  This file requires _WIN32_WINNT to be #defined at least to 0x0403. Value 0x0501 or higher is recommended.


解决办法:C/C++->Preprocessor->Preprocessor Definitions中的_WIN32_WINNT=0x0501改掉就可以了  




4.error C2059: syntax error : 'catch'  


解决办法:properties->Configuration Properties->C/C++->PreProcessor->Preprocessor Definitions中将try=__try去掉即可!  




5.error C2664: “MessageBoxW”: 不能将参数 2 从“const char [17]”转换为“LPCWSTR”


解决办法:将多字符集改成Unicode字符集 




6.在运行控制台程序的时候经常会一闪而过


解决办法:可以再代码的最后加上system("pause");




7.error LNK2019: unresolved external symbol _main referenced in function ___tmainCRTStartup


解决办法:
1.菜单中选择 Project->Properties, 弹出Property Pages窗口
2.在左边栏中依次选择:Configuration Properties->C/C++->Preprocessor,然后在右边栏的Preprocessor Definitions对应的项中删除_CONSOLE, 添加_WINDOWS.
3.在左边栏中依次选择:Configuration Properties->Linker->System,然后在右边栏的SubSystem对应的项改为Windows(/SUBSYSTEM:WINDOWS)




8. Critical error detected c0000374.


产生原因:越界赋值导致




9. LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏


解决办法:1不好使用2
 1.将项目-->项目属性-->配置属性-->连接器-->清单文件-->嵌入清单 中的“是”改为“否”
 2.系统含有多个版本的cvtres.exe文件,一个在C:\Windows\Microsoft.NET\Framework\v4.0.30319\cvtres.exe, 还有一个在 vs安装目录下的:\Microsoft Visual Studio 10.0\vc\bin\cvtres.exe,右键查看各自的版本,删除或者移动较老的版本即可解决




10. fatal error LNK1169: 找到一个或多个多重定义的符号


解决办法:
1.在.h里的函数声明前加 inline
2.在项目->属性->链接器->命令行->附加选项中加   /force 




11.VS2010中设置的断点无效:“当前不会命中断点,还没有为该文档加载任何符号”


解决办法:
(1):项目 -> 属性-> 配置属性->C/C++->常规->调试信息格式,这里不能为禁用
(2):项目 -> 属性-> 配置属性->连接器->调试->生成调试信息,这里设为是




12.error LNK2005: _DllMain@12 already defined in dllmain.obj


解决办法:只需要在工程设置里面把WIN32,NDEBUG,_WINDOWS,_MBCS,_USRDLL,MSGBOX_EXPORTS,_WINDLL,_AFXDLL中的_USRDLL,删除,就可以正确编译了




13.Link2019:unresolved external symbol 'symbol' referenced in function 'function'


原因:函数只有申明,没有实现时,或是DLL中的函数没有export




14.error MSB4044: 未给任务“CppClean”的必需参数“FoldersToClean”赋值。

 

 

 

解决方法:(产生原因是没有设置中间目录)将中间目录设置成$(Configuration)\

 


未完待续........


 

你可能感兴趣的:(Windows)