关于网友提出的“ 关于设置多线程的菜鸟问题,急待解决,请大家帮忙!!!”问题疑问,本网通过在网上对“ 关于设置多线程的菜鸟问题,急待解决,请大家帮忙!!!”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: 关于设置多线程的菜鸟问题,急待解决,请大家帮忙!!!描述:
我的程序在SETTING中设置Multithreaded后,编译时出现如下错误:
--------------------Configuration: QTServer - Win32 Debug--------------------
Linking...
msvcrtd.lib(MSVCRTD.dll) : error LNK2005: __setmbcp already defined in libcmtd.lib(mbctype.obj)
LINK : warning LNK4098: defaultlib "LIBCMT" conflicts with use of other libs; use /NODEFAULTLIB:library
LINK : warning LNK4098: defaultlib "msvcrtd.lib" conflicts with use of other libs; use /NODEFAULTLIB:library
Debug/QTServer.exe : fatal error LNK1169: one or more multiply defined symbols found
Error executing link.exe.
Creating browse info file...
QTServer.exe - 2 error(s), 2 warning(s)
请问,这是什么错误啊,该怎么解决呢???急,请大家帮忙,谢谢!!!
解决方案1:
mark
解决方案2: 顶
我在导出函数中间接调用WINSOCK.H中定义的函数,如SELECT,RECV,SEND等,总会报错:execute.obj : error LNK2019: unresolved external symbol _select@20 referenced in function "int __stdcall testSocket(int)" (?testSocket@@YGHH@Z)导出函数定义如下:extern"C" __declspec(dllexport) int _connectServerForUpload(char *serverid,int port,char *username,char *password,bool & IncreFlag)
这是怎么回事?
有一篇讲到过, 更改编绎设置, 你查一查
解决方案5: /nologo /MT /W3 /Gm /GX /ZI /Od /D的含意在MSDN中可以查到。
link error的原因是你没有链接相应的库,
在定义testSocket的文件中加上#pragma comment(lib,"ws2_32.lib")就可以了。
友情upup
解决方案7: project setting->link->在catetory中点input,在ingore library中填入libcmtd.lib
你可用一个“共享名”申请一块共享
内存块,进行读写