📄 subject_66839.htm
字号:
<p>
序号:66839 发表者:小羽 发表日期:2003-12-26 20:43:30
<br>主题:如何让Debug Multithreaded编译通过的程序改为Debug Multithreaded Dll编译能通过?
<br>内容:我用MFC建立了一个工程,要使用一个静态库avi.lib,可是这个静态库avi.lib,在Debug Multithreaded环境下能编译通过,而MFC建立的工程都是Debug Multithreaded Dll。请教各位高手,能不能通过更改某些设置,让静态库avi.lib用Debug Multithreaded Dll也能编译通过?或者mfc的工程能用Debug Multithreaded 编译通过?<BR><BR>以下是用Debug Multithreaded Dll编译的时候产生的问题:<BR>Linking...<BR>LIBCMT.lib(lseek.obj) : error LNK2005: __lseek already defined in MSVCRTD.lib(MSVCRTD.dll)<BR>LIBCMT.lib(crt0.obj) : error LNK2005: _mainCRTStartup already defined in MSVCRTD.lib(crtexe.obj)<BR>LIBCMT.lib(winxfltr.obj) : error LNK2005: __XcptFilter already defined in MSVCRTD.lib(MSVCRTD.dll)<BR>LIBCMT.lib(crt0dat.obj) : error LNK2005: _exit already defined in MSVCRTD.lib(MSVCRTD.dll)<BR>LIBCMT.lib(crt0dat.obj) : error LNK2005: __exit already defined in MSVCRTD.lib(MSVCRTD.dll)<BR>LIBCMT.lib(crt0init.obj) : error LNK2005: ___xc_z already defined in MSVCRTD.lib(cinitexe.obj)<BR>LIBCMT.lib(crt0init.obj) : error LNK2005: ___xc_a already defined in MSVCRTD.lib(cinitexe.obj)<BR>LIBCMT.lib(crt0init.obj) : error LNK2005: ___xi_z already defined in MSVCRTD.lib(cinitexe.obj)<BR>LIBCMT.lib(crt0init.obj) : error LNK2005: ___xi_a already defined in MSVCRTD.lib(cinitexe.obj)<BR>LIBCMT.lib(lseek.obj) : warning LNK4006: __lseek already defined in MSVCRTD.lib(MSVCRTD.dll); second definition ignored<BR>LIBCMT.lib(crt0.obj) : warning LNK4006: _mainCRTStartup already defined in MSVCRTD.lib(crtexe.obj); second definition ignored<BR>LIBCMT.lib(winxfltr.obj) : warning LNK4006: __XcptFilter already defined in MSVCRTD.lib(MSVCRTD.dll); second definition ignored<BR>LIBCMT.lib(crt0dat.obj) : warning LNK4006: _exit already defined in MSVCRTD.lib(MSVCRTD.dll); second definition ignored<BR>LIBCMT.lib(crt0dat.obj) : warning LNK4006: __exit already defined in MSVCRTD.lib(MSVCRTD.dll); second definition ignored<BR>LIBCMT.lib(crt0init.obj) : warning LNK4006: ___xc_z already defined in MSVCRTD.lib(cinitexe.obj); second definition ignored<BR>LIBCMT.lib(crt0init.obj) : warning LNK4006: ___xc_a already defined in MSVCRTD.lib(cinitexe.obj); second definition ignored<BR>LIBCMT.lib(crt0init.obj) : warning LNK4006: ___xi_z already defined in MSVCRTD.lib(cinitexe.obj); second definition ignored<BR>LIBCMT.lib(crt0init.obj) : warning LNK4006: ___xi_a already defined in MSVCRTD.lib(cinitexe.obj); second definition ignored<BR> Creating library Debug/avidemo.lib and object Debug/avidemo.exp<BR>LINK : warning LNK4098: defaultlib "MSVCRTD" conflicts with use of other libs; use /NODEFAULTLIB:library<BR>LINK : warning LNK4098: defaultlib "LIBCMT" conflicts with use of other libs; use /NODEFAULTLIB:library<BR>LINK : warning LNK4098: defaultlib "LIBC" conflicts with use of other libs; use /NODEFAULTLIB:library<BR>Debug/avidemo.exe : fatal error LNK1169: one or more multiply defined symbols found<BR>Error executing link.exe.<BR>
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:xiongli 回复日期:2003-12-26 20:52:45
<br>内容:你只有改你的mfc工程<BR><BR>这样:
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:小羽 回复日期:2003-12-27 10:47:49
<br>内容:MFC的工程在Single Threaded下面编译通不过去。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:xiongli 回复日期:2003-12-27 11:22:19
<br>内容:你不是要Debug Multithreaded ?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:小羽 回复日期:2003-12-27 16:07:48
<br>内容:我把mfc的工程改为Use MFC In a Static Library,Code Generation里面自动变成Debug Multithreaded 了。如果不改这个,直接用Debug Multithreaded ,编译通不过。<BR>这么做不知道对我的程序有什么影响。多谢这位朋友帮忙。<BR>2003-12-27 16:13:37
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -