MFC下用DirectShow SDK来实现读取摄像头数据时,在程序链接时出现的异常,请大家指点

MFC下用DirectShow SDK来实现读取摄像头数据时,在程序链接时出现的错误,请大家指点!
我在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标示),请大家帮忙替我分析一下原因。谢谢!




------解决方案--------------------
要保证你的项目中所有的模块设置都为 Multithreaded DLL.
实在没办法,你也可以强制输出 settings-> link-> customize-> fore file output 。
------解决方案--------------------
/MD
MSVCRT.LIB
多线程DLL的Release版本

/MTd
LIBCMTD.LIB
多线程静态链接的Debug版本
你的问题应该是debug和release的库在连接的时候用混了。


------解决方案--------------------
尝试一下忽略libcmtd.lib
------解决方案--------------------
你的LIBCMTD.lib库跟msvcrt.lib运行库有冲突!
------解决方案--------------------
error LNK2001: unresolved external symbol _main

一下就看到上面这句了,工程类型不对啊,改成subsystem:windows