注意看这里: 我生产的lib版本使用的是MDd,就会出现libcmtd与msvcrtd冲突问题
lua5.0debug.lib(lauxlib.obj) : warning LNK4075: 忽略“/EDITANDCONTINUE”(由于“/OPT:ICF”规范)
1> 正在创建库 F:\vs2012工程\ViewLua\Release\ViewLua.lib 和对象 F:\vs2012工程\ViewLua\Release\ViewLua.exp
1>libcmtd.lib(crt0init.obj) : warning LNK4098: 默认库“msvcrtd.lib”与其他库的使用冲突;请使用 /NODEFAULTLIB:library
1> 正在生成代码
1> 已完成代码的生成
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(MSVCR110D.dll) : error LNK2005: _isspace 已经在 libcmtd.lib(_ctype.obj) 中定义
1>msvcrtd.lib(MSVCR110D.dll) : error LNK2005: _isprint 已经在 libcmtd.lib(_ctype.obj) 中定义
1>msvcrtd.lib(MSVCR110D.dll) : error LNK2005: __errno 已经在 libcmtd.lib(dosmap.obj) 中定义
1>msvcrtd.lib(MSVCR110D.dll) : error LNK2005: ___iob_func 已经在 libcmtd.lib(_file.obj) 中定义
1>msvcrtd.lib(MSVCR110D.dll) : error LNK2005: _fclose 已经在 libcmtd.lib(fclose.obj) 中定义
1>msvcrtd.lib(MSVCR110D.dll) : error LNK2005: _feof 已经在 libcmtd.lib(feoferr.obj) 中定义
1>msvcrtd.lib(MSVCR110D.dll) : error LNK2005: _ferror 已经在 libcmtd.lib(feoferr.obj) 中定义
1>msvcrtd.lib(MSVCR110D.dll) : error LNK2005: _fread 已经在 libcmtd.lib(fread.obj) 中定义
1>msvcrtd.lib(MSVCR110D.dll) : error LNK2005: _getc 已经在 libcmtd.lib(fgetc.obj) 中定义
1>msvcrtd.lib(MSVCR110D.dll) : error LNK2005: _ungetc 已经在 libcmtd.lib(ungetc.obj) 中定义
1>msvcrtd.lib(MSVCR110D.dll) : error LNK2005: _strchr 已经在 libcmtd.lib(strchr.obj) 中定义
1>msvcrtd.lib(MSVCR110D.dll) : error LNK2005: _exit 已经在 libcmtd.lib(crt0dat.obj) 中定义
1>msvcrtd.lib(MSVCR110D.dll) : error LNK2005: _strtod 已经在 libcmtd.lib(strtod.obj) 中定义
1>msvcrtd.lib(MSVCR110D.dll) : error LNK2005: _strcspn 已经在 libcmtd.lib(strcspn.obj) 中定义
1>msvcrtd.lib(MSVCR110D.dll) : error LNK2005: _strcoll 已经在 libcmtd.lib(strcoll.obj) 中定义
1>msvcrtd.lib(MSVCR110D.dll) : error LNK2005: _sprintf 已经在 libcmtd.lib(sprintf.obj) 中定义
1>msvcrtd.lib(MSVCR110D.dll) : error LNK2005: _free 已经在 libcmtd.lib(dbgfree.obj) 中定义
1>msvcrtd.lib(MSVCR110D.dll) : error LNK2005: _realloc 已经在 libcmtd.lib(dbgrealloc.obj) 中定义
1>msvcrtd.lib(MSVCR110D.dll) : error LNK2005: _isalpha 已经在 libcmtd.lib(_ctype.obj) 中定义
1>msvcrtd.lib(MSVCR110D.dll) : error LNK2005: _isdigit 已经在 libcmtd.lib(_ctype.obj) 中定义
1>msvcrtd.lib(MSVCR110D.dll) : error LNK2005: _isalnum 已经在 libcmtd.lib(_ctype.obj) 中定义
1>msvcrtd.lib(MSVCR110D.dll) : error LNK2005: _iscntrl 已经在 libcmtd.lib(_ctype.obj) 中定义
使用标准的windows库/在静态库中使用mfc版本的dll生成时,dll调用的lib也应该设置对应的多线程调试MTD/多线程MT