本来工程在共享库中使用MFC是没问题的。改为在静态库中使用MFC就出现了下面的问题。
1>msvcrtd.lib(ti_inst.obj) : error LNK2005: "private: __thiscall type_info::type_info(class type_info const &)" (??0type_info@@AAE@ABV0@@Z) 已经在 libcmtd.lib(typinfo.obj) 中定义
1>msvcrtd.lib(ti_inst.obj) : error LNK2005: "private: class type_info & __thiscall type_info::operator=(class type_info const &)" (??4type_info@@AAEAAV0@ABV0@@Z) 已经在 libcmtd.lib(typinfo.obj) 中定义1>msvcrtd.lib(MSVCR100D.dll) : error LNK2005: _wcsrchr 已经在 libcmtd.lib(wcsrchr.obj) 中定义
1>libcmtd.lib(crt0init.obj) : warning LNK4098: 默认库“msvcrtd.lib”与其他库的使用冲突;请使用 /NODEFAULTLIB:library
1>G:\MFCProjiect\VideoLog\Debug\VideoLog.exe : fatal error LNK1169: 找到一个或多个多重定义的符号
在网上查了一下,都说要忽略某个默认库。
忽略libcmtd.lib后
1>Strmbasd.lib(mtype.obj) : warning LNK4075: 忽略“/EDITANDCONTINUE”