error LNK2005: __alloc_osfhnd already defined in LIBCD.lib(osfinfo.obj) 等错误

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 选项即可,说明使用了多线程的库

你可能感兴趣的:(多线程,library)