LIBCMT.lib(osfinfo.obj) : error LNK2005: __alloc_osfhnd already defined in LIBCD.lib(osfinfo.obj)
LIBCMT.lib(osfinfo.obj) : error LNK2005: __set_osfhnd already defined in LIBCD.lib(osfinfo.obj)
LIBCMT.lib(osfinfo.obj) : error LNK2005: __free_osfhnd already defined in LIBCD.lib(osfinfo.obj)
LIBCMT.lib(osfinfo.obj) : error LNK2005: __get_osfhandle already defined in LIBCD.lib(osfinfo.obj)
LIBCMT.lib(osfinfo.obj) : error LNK2005: __open_osfhandle already defined in LIBCD.lib(osfinfo.obj)
LIBCMT.lib(dosmap.obj) : error LNK2005: __dosmaperr already defined in LIBCD.lib(dosmap.obj)
LINK : warning LNK4098: defaultlib "LIBCMT" conflicts with use of other libs; use /NODEFAULTLIB:library
Debug/TEST2.exe : fatal error LNK1169: one or more multiply defined symbols found
程序非常简单,只是一个Console下面的cout 命令
代码如下:
#include <stdlib.h>
#include <iostream.h>
void main(void)
{
cout << "adsfasdfasdf" << endl;
}
、出现上面的错误,
我的解决办法是在编译选项里面 加个 /MT 选项即可,说明使用了多线程的库
本文介绍了一种解决编译时遇到的LNK2005错误的方法,该错误通常由多个库中相同的符号定义引起。通过添加/MT选项指定使用多线程库,可以有效避免此类问题。
2167

被折叠的 条评论
为什么被折叠?



