crazybird

VS2010 MFC错误及解决锦集汇总

0
阅读(137) 评论(0)

1、

错误提示:

1>LINK : fatal error LNK1168: 无法打开 F:\产品\CB\20180711_USB_Camera_V1.15\USBCameraSDK\Debug\USBCameraSDK.exe 进行写入

解决方法:

将该目录下整个Debug文件夹删除,如果正常删除不了,就强制删除粉粹。


2、

错误提示:

1>LIBCMT.lib(sprintf.obj) : error LNK2005: _sprintf 已经在 msvcrtd.lib(MSVCR100D.dll) 中定义
1>LIBCMT.lib(invarg.obj) : error LNK2005: __invoke_watson 已经在 msvcrtd.lib(MSVCR100D.dll) 中定义
1>LIBCMT.lib(setlocal.obj) : error LNK2005: __configthreadlocale 已经在 msvcrtd.lib(MSVCR100D.dll) 中定义
1>LIBCMT.lib(mlock.obj) : error LNK2005: __unlock 已经在 msvcrtd.lib(MSVCR100D.dll) 中定义
1>LIBCMT.lib(mlock.obj) : error LNK2005: __lock 已经在 msvcrtd.lib(MSVCR100D.dll) 中定义
1>LIBCMT.lib(winxfltr.obj) : error LNK2005: __XcptFilter 已经在 msvcrtd.lib(MSVCR100D.dll) 中定义
1>LIBCMT.lib(crt0dat.obj) : error LNK2005: __initterm_e 已经在 msvcrtd.lib(MSVCR100D.dll) 中定义
1>LIBCMT.lib(crt0dat.obj) : error LNK2005: _exit 已经在 msvcrtd.lib(MSVCR100D.dll) 中定义
1>LIBCMT.lib(crt0dat.obj) : error LNK2005: __exit 已经在 msvcrtd.lib(MSVCR100D.dll) 中定义
1>LIBCMT.lib(crt0dat.obj) : error LNK2005: __cexit 已经在 msvcrtd.lib(MSVCR100D.dll) 中定义
1>LIBCMT.lib(crt0dat.obj) : error LNK2005: __amsg_exit 已经在 msvcrtd.lib(MSVCR100D.dll) 中定义
1>LIBCMT.lib(hooks.obj) : error LNK2005: "void __cdecl terminate(void)" (?terminate@@YAXXZ) 已经在 msvcrtd.lib(MSVCR100D.dll) 中定义
1>LIBCMT.lib(crt0init.obj) : error LNK2005: ___xi_a 已经在 msvcrtd.lib(cinitexe.obj) 中定义
1>LIBCMT.lib(crt0init.obj) : error LNK2005: ___xi_z 已经在 msvcrtd.lib(cinitexe.obj) 中定义
1>LIBCMT.lib(crt0init.obj) : error LNK2005: ___xc_a 已经在 msvcrtd.lib(cinitexe.obj) 中定义
1>LIBCMT.lib(crt0init.obj) : error LNK2005: ___xc_z 已经在 msvcrtd.lib(cinitexe.obj) 中定义
1>LIBCMT.lib(errmode.obj) : error LNK2005: ___set_app_type 已经在 msvcrtd.lib(MSVCR100D.dll) 中定义
1>LINK : warning LNK4098: 默认库“msvcrtd.lib”与其他库的使用冲突;请使用 /NODEFAULTLIB:library
1>LINK : warning LNK4098: 默认库“LIBCMT”与其他库的使用冲突;请使用 /NODEFAULTLIB:library
1>LIBCMT.lib(crt0.obj) : error LNK2019: 无法解析的外部符号 _main,该符号在函数 ___tmainCRTStartup 中被引用

解决方法:

选择“项目”——>右键选择“属性”——>配置属性——>链接器——>输入——>忽略特定默认库,添加libcmt.lib 。


3、

错误信息:

1>LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt

原因分析:

由于电脑中装了MicroSsoft.Net Framework X.X,其自带了一个更新的cvtres.exe,使VS2010中用来进行COFF格式转换的cvtres.exe运行不起来,所以编译时出现了错误。

解决方案:

删除VS2010中的cvtres.exe,让VS2010使用MicroSsoft.Net Framework X.X中的cvtres.exe。


VS2010中的cvtres.exe所在路径如下:

{VS2010安装目录}\VC\bin\cvtres.exe
{VS2010安装目录}\VC\bin\amd64\cvtres.exe


MicroSsoft.Net Framework 4.5(4.6)中的cvtres.exe所在路径如下:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\cvtres.exe
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\cvtres.exe


4、