只要设成share library,都没有问题,就是一设置static library,就出下面的错,在网上查了查,说是什么顺利的问题,自己弄了半天也没解决,大家帮着出出主意,错误如下:Linking...
MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: _fopen already defined in libcmtd.lib(fopen.obj)
MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: _fclose already defined in libcmtd.lib(fclose.obj)
MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: _fread already defined in libcmtd.lib(fread.obj)
MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: _fwrite already defined in libcmtd.lib(fwrite.obj)
(strtok.obj)
MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: __open already defined in libcmtd.lib(open.obj)
MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: __setmode already defined in libcmtd.lib(setmode.obj)
MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: __read already defined in libcmtd.lib(read.obj)
MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: __write already defined in libcmtd.lib(write.obj)
MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: __lseek already defined in libcmtd.lib(lseek.obj)
MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: __close already defined in libcmtd.lib(close.obj)
MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: __strdup already defined in libcmtd.lib(strdup.obj)
MSVCRTD.lib(MSVCRTD.dll) : warning LNK4006: _fopen already defined in libcmtd.lib(fopen.obj); second definition ignored
MSVCRTD.lib(MSVCRTD.dll) : warning LNK4006: _fclose already defined in libcmtd.lib(fclose.obj); second definition ignored
MSVCRTD.lib(MSVCRTD.dll) : warning LNK4006: _fread already defined in libcmtd.lib(fread.obj); second definition ignored
MSVCRTD.lib(MSVCRTD.dll) : warning LNK4006: _fwrite already defined in libcmtd.lib(fwrite.obj); second definition ignored
MSVCRTD.lib(MSVCRTD.dll) : warning LNK4006: _fseek already defined in libcmtd.lib(fseek.obj); second definition ignored
   Creating library ../bin/demod.lib and object ../bin/demod.exp
LINK : warning LNK4098: defaultlib "MSVCRTD" conflicts with use of other libs; use /NODEFAULTLIB:library
../bin/demod.exe : fatal error LNK1169: one or more multiply defined symbols found
Error executing link.exe.demod.exe - 38 error(s), 38 warning(s)

解决方案 »

  1.   

    它选择了在多线程版的运行时库,你的exe工程也需要这么做。/MT(d)
      

  2.   

    ALT+F7/ C/C++ / CODE GENERATION
      

  3.   

    Debug Multithreaded->Debug Multithreaded Dll
      

  4.   

    这些我基本上都试过了,,还是不行能帮个忙吗,你在codeproject上down一个cximage,然后里面有一个Demo工程,你把工程改成static library,编辑就能看到错误了,,谢谢
      

  5.   

    请查收,记得结贴喔。白天上班,晚上才有空,我机了太慢,你的项目又不齐,只好重下一次。
    要用static方式,所有lib全要用static方式重连一次,与demo同步,这次用shard方式反而不行了,呵呵。