首页 > 代码库 > 【原】各种语言疑难BUG调试记录
【原】各种语言疑难BUG调试记录
之前遇到棘手的BUG总是在处理过后就不管了,导致后面碰到后重复工作太多。现专门开辟一篇日志以记录接下来一路上的DEBUG记录。
【C++】
1.mt.exe : general error c101008d: Failed to write the updated manifest to the resource of file
说明:由于VC需要把生成的文件中嵌入MANIFEST文件,而由于杀毒软件之类的会握有这个文件句柄(因为杀毒软件
发现这个EXE,DLL正在读写),于是VC就写不进去了,方法是暂时关闭杀毒软件,这样就不用
解决方法:那就是在项目属性——配置属性——链接器——清单文件中, 把生成清单改成否就行了。如果”生成清单“选项为是,则最终会生成exe文件以及.exe.manifest文件
2.error LNK2001: 无法解析的外部符号 解决方法
说明:这个错误非常经常看到,原因是因为项目属性的”依赖项“配置出错。无论你有多确定,一定要重新检查依赖库,或者换个库
解决方法:在项目属性(ALT+F7)->链接器->输入->依赖项中根据出错信息添加必要的.lib库文件。
3.fatal error C1189: #error : WinSock.h has already been included
说明:在开始编译boost::asio库时经常碰到这个错误,这是普遍现象
解决方法:
1、在包含Windows.h前定义宏WIN32_LEAN_AND_MEAN,就OK了(WIN32_LEAN_AND_MEAN表示不包含一些极少使用和偏门的资料)
2、在包含Windows.h前包含winsock2.h
3、在包含Windows.h前包含asio.hpp
4、项目 -> 属性 -> C/C++ -> 预处理器 -> 预处理器定义,在其中添加 : WIN32_LEAN_AND_MEAN