我在MFC环境下,想通过DirectShow SDK来读取摄像头数据,程序编译都通过了,但是在链接时出现以下错误:
Linking...
LIBCMTD.lib(fpinit.obj) : error LNK2005: __ldused already defined in a previous module
LIBCMTD.lib(fpinit.obj) : error LNK2005: __fltused already defined in a previous module
LIBCMTD.lib(dbgheap.obj) : error LNK2005: _malloc already defined in msvcrt.lib(MSVCRT.dll)
LIBCMTD.lib(dbgheap.obj) : error LNK2005: _free already defined in msvcrt.lib(MSVCRT.dll)
LIBCMTD.lib(crt0dat.obj) : error LNK2005: _exit already defined in msvcrt.lib(MSVCRT.dll)
LIBCMTD.lib(crt0dat.obj) : error LNK2005: __exit already defined in msvcrt.lib(MSVCRT.dll)
LIBCMTD.lib(crt0init.obj) : error LNK2005: ___xc_z already defined in msvcrt.lib(cinitexe.obj)
LIBCMTD.lib(crt0init.obj) : error LNK2005: ___xc_a already defined in msvcrt.lib(cinitexe.obj)
LIBCMTD.lib(crt0init.obj) : error LNK2005: ___xi_z already defined in msvcrt.lib(cinitexe.obj)
LIBCMTD.lib(crt0init.obj) : error LNK2005: ___xi_a already defined in msvcrt.lib(cinitexe.obj)
LIBCMTD.lib(winxfltr.obj) : error LNK2005: __XcptFilter already defined in msvcrt.lib(MSVCRT.dll)
msvcrt.lib(MSVCRT.dll) : error LNK2005: __setmbcp already defined in LIBCMTD.lib(mbctype.obj)
LINK : warning LNK4098: defaultlib "msvcrt.lib" conflicts with use of other libs; use /NODEFAULTLIB:library
LINK : warning LNK4098: defaultlib "LIBCMTD" conflicts with use of other libs; use /NODEFAULTLIB:library
LIBCMTD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Release/Fire07.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
Creating browse info file...Fire07.exe - 14 error(s), 10 warning(s)
我已经在project->setting下,将工程的Use run-time library设置成了Multithreaded DLL(project options下有 /MD标示),请大家帮忙替我分析一下原因。谢谢!
Linking...
LIBCMTD.lib(fpinit.obj) : error LNK2005: __ldused already defined in a previous module
LIBCMTD.lib(fpinit.obj) : error LNK2005: __fltused already defined in a previous module
LIBCMTD.lib(dbgheap.obj) : error LNK2005: _malloc already defined in msvcrt.lib(MSVCRT.dll)
LIBCMTD.lib(dbgheap.obj) : error LNK2005: _free already defined in msvcrt.lib(MSVCRT.dll)
LIBCMTD.lib(crt0dat.obj) : error LNK2005: _exit already defined in msvcrt.lib(MSVCRT.dll)
LIBCMTD.lib(crt0dat.obj) : error LNK2005: __exit already defined in msvcrt.lib(MSVCRT.dll)
LIBCMTD.lib(crt0init.obj) : error LNK2005: ___xc_z already defined in msvcrt.lib(cinitexe.obj)
LIBCMTD.lib(crt0init.obj) : error LNK2005: ___xc_a already defined in msvcrt.lib(cinitexe.obj)
LIBCMTD.lib(crt0init.obj) : error LNK2005: ___xi_z already defined in msvcrt.lib(cinitexe.obj)
LIBCMTD.lib(crt0init.obj) : error LNK2005: ___xi_a already defined in msvcrt.lib(cinitexe.obj)
LIBCMTD.lib(winxfltr.obj) : error LNK2005: __XcptFilter already defined in msvcrt.lib(MSVCRT.dll)
msvcrt.lib(MSVCRT.dll) : error LNK2005: __setmbcp already defined in LIBCMTD.lib(mbctype.obj)
LINK : warning LNK4098: defaultlib "msvcrt.lib" conflicts with use of other libs; use /NODEFAULTLIB:library
LINK : warning LNK4098: defaultlib "LIBCMTD" conflicts with use of other libs; use /NODEFAULTLIB:library
LIBCMTD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Release/Fire07.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
Creating browse info file...Fire07.exe - 14 error(s), 10 warning(s)
我已经在project->setting下,将工程的Use run-time library设置成了Multithreaded DLL(project options下有 /MD标示),请大家帮忙替我分析一下原因。谢谢!
解决方案 »
- 如何指定编辑框中特定字的颜色
- 求助:CSocket(或CAsyncSocket)中,Accept和OnAccept是谁触发了谁?
- 怎样才能从CObject类直接继承呢?看ClassWizard中的BaseClass没有CObject呀??
- 在toolbar资源编辑器上如何增加按钮之间的间隔???
- 串行化问题:如何方便的存取struct结构体
- 关于包容类析构函数的问题
- 考高程有用吗?要是没用,又不想考研,我该怎么办?
- 请问:用 VC 做个什么东西既实用又能巩固所学知识 ?
- 为什么线程只能执行一次?
- 在mfc应用程序中使用第三方activex 的相关接口调用失败~~有人知道原因
- 大家来讨论下读WMA文件的问题。我已知其格式,但不会读出来,请帮忙。
- Visual C++中轻松实现透明滑动控件
实在没办法,你也可以强制输出 settings->link->customize->fore file output 。
在debug模式下编译通过,也可以执行。
在release模式下编译通过,但无法执行。
不知何故,总觉得好像什麽地方有问题,请大家帮忙指教!
MSVCRT.LIB
多线程DLL的Release版本/MTd
LIBCMTD.LIB
多线程静态链接的Debug版本
你的问题应该是debug和release的库在连接的时候用混了。
请问如何忽略libcmtd.lib? 配置里有忽略导入库, .NET后