VS2008编译DCMTK3.5.4过程详解(2)

上一篇我们生成了VS2008工程,本文将详细介绍编译过程及编译中遇到的问题的解决方法。

    编译:

      打开生成的VS2008工程,也就是在文件夹D:/DCMTK/dcmtk-3.5.4(你的可能不在这)下。

      网上介绍了很多编译的方式,包括最常见的就是批生成,但是我感觉这个对解决问题不利,主要原因是你如果编译,会有上百个错误。而且你很难对错误进行定位。

 

      我的做法如下:

 

      64个工程,除了第一个ALLBuild之外,依次生成。期间出现最多的错误。现在一一解决如下:

 

     第一个错误:

      LIBCMTD.lib(dbgheap.obj) : error LNK2005: _malloc already defined in msvcrtd.lib(MSVCRTD.dll)
      LIBCMTD.lib(dbgheap.obj) : error LNK2005: _free already defined in msvcrtd.lib(MSVCRTD.dll)
      LIBCMTD.lib(crt0dat.obj) : error LNK2005: _exit already defined in msvcrtd.lib(MSVCRTD.dll)
      LIBCMTD.lib(crt0dat.obj) : error LNK2005: __exit already defined in msvcrtd.lib(MSVCRTD.dll)

     

      解决方法如下:在当前编译工程中,属性----配置属性----链接器----命令行-----附加选项中添加如下命令:/clr /FORCE.解决方法来源是:http://msdn.microsoft.com/en-us/library/70abkas3.aspx


      第二个错误:

       错误从cl.exe返回,找到cl.exe运行会发现提示一下错误:mspdb80.dll未找到。这是因为VC/Bin/下没有“msobj80.dll,mspdb80.dll,mspdbcore.dll,mspdbsrv.exe”这四个文件。

     

     两种解决方法如下:


   (1)直接从Common7/IDE/下复制这四个文件到VC/Bin/下即可解决。
   (2)添加系统变量(Path),XP下这样操作:我的电脑->属性->高级->环境变量->系统变量,在path中添加C:/Program Files/Microsoft Visual Studio 8/Common7/IDE;,注意结尾最后用“;”隔开。

 

     下一篇中我将介绍在MFC中使用DCMTK。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值