LNK2038, LNKC4743,LNK4098,LNK2001

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LNK2038, LNKC4743,LNK4098,LNK2001相关的知识,希望对你有一定的参考价值。

1>hlibs.lib(HIocpSocketServer.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(cons.obj 中)
1>LINK : warning C4743: “const CCriticalSection::`vftable‘”在“G:\dev\code\my\hlib\hlib\src\HIocpSocketServer.cpp”和“G:\dev\code\??3??\wmgj\cons\cons\cons.cpp”中具有不同的大小: 36 和 28 字节
1>hlibs.lib(HListCtrl.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(cons.obj 中)
1>hlibs.lib(HIniFile.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(cons.obj 中)
1>hlibs.lib(HStrUtils.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”(cons.obj 中)
1>uafxcw.lib(nolib.obj) : warning LNK4098: 默认库“mfc120u.lib”与其他库的使用冲突;请使用 /NODEFAULTLIB:library
1>uafxcw.lib(nolib.obj) : warning LNK4098: 默认库“mfcs120u.lib”与其他库的使用冲突;请使用 /NODEFAULTLIB:library
1>libcmt.lib(crt0init.obj) : warning LNK4098: 默认库“msvcrt.lib”与其他库的使用冲突;请使用 /NODEFAULTLIB:library
1>consDlg.obj : error LNK2001: 无法解析的外部符号 "public: static class ATL::CStringT<wchar_t,class StrTraitMFC<wchar_t,class ATL::ChTraitsCRT<wchar_t> > > __cdecl CHStrUtils::ExtractFilePath(class ATL::CStringT<wchar_t,class StrTraitMFC<wchar_t,class ATL::ChTraitsCRT<wchar_t> > >,wchar_t)" ([email protected]@@[email protected][email protected][email protected][email protected]@@@@@[email protected]@[email protected][email protected])
1>consDlg.obj : error LNK2001: 无法解析的外部符号 "public: static class ATL::CStringT<wchar_t,class StrTraitMFC<wchar_t,class ATL::ChTraitsCRT<wchar_t> > > __cdecl CHAppUtils::GetModuleFullPathName(struct HINSTANCE__ *)" ([email protected]@@[email protected][email protected][email protected][email protected]@@@@@[email protected]@[email protected]@@Z)
1>consDlg.obj : error LNK2001: 无法解析的外部符号 "public: int __thiscall CHIniFile::GetString(wchar_t const *,wchar_t const *,wchar_t const *,class ATL::CStringT<wchar_t,class StrTraitMFC<wchar_t,class ATL::ChTraitsCRT<wchar_t> > > &,unsigned long)" ([email protected]@@[email protected][email protected][email protected][email protected]@@@@@[email protected]@[email protected])
1>consDlg.obj : error LNK2001: 无法解析的外部符号 "public: static int __cdecl CHAppUtils::Run(class ATL::CStringT<wchar_t,class StrTraitMFC<wchar_t,class ATL::ChTraitsCRT<wchar_t> > > &,unsigned int)" ([email protected]@@[email protected][email protected][email protected][email protected]@@@@@[email protected]@[email protected])
1>G:\dev\code\剑3挂\wmgj\cons\Release\cons.exe : fatal error LNK1120: 4 个无法解析的外部命令

 

原因:

项目引用的静态库的编译选项与当前项目编译选项不同,

 

解决办法:

检查项目属性-常规-MFC的使用

检查项目属性-C/C++-代码生成-运行库

以上是关于LNK2038, LNKC4743,LNK4098,LNK2001的主要内容,如果未能解决你的问题,请参考以下文章

解决LNK4098:defaultlib'MSVCRT'与。冲突

关于LNK4098 默认库与其他库的使用冲突警告

链接器错误 LNK2038:在发布模式下检测到不匹配

LNK2038:检测到“RuntimeLibrary”不匹配:值“MT_StaticRelease”与 file.obj 中的值“MD_DynamicRelease”不匹配

为“_MSC_VER”检测到错误 LNK2038 不匹配:值“1700”与 xxxx.obj 中的值“1900”不匹配

错误 LNK2038:检测到“_ITERATOR_DEBUG_LEVEL”不匹配:值“2”与 XX.obj 中的值“0”不匹配