dcmtk提示无法解析的外部符号(unresolved external symbol)的解决方法

参考dcmtk官方论坛 这个帖子 http://forum.dcmtk.org/viewtopic.php?t=36

The DCMTK libraries have the following internal dependencies (modules introduced with DCMTK 3.6.0 are not listed here):

    dcmdata : ofstd
    dcmimage : dcmimgle, dcmdata, ofstd
    dcmimgle : dcmdata, ofstd
    dcmjpeg : ijg8, ijg12, ijg16, dcmimage, dcmimgle, dcmdata, ofstd
    dcmnet : dcmdata, ofstd
    dcmpstat : dcmimage, dcmimgle, dcmsign, dcmsr, imagectn, dcmtls, dcmnet, dcmdata, ofstd
    dcmsign : dcmdata, ofstd
    dcmsr : dcmdata, ofstd
    dcmtls : dcmnet, dcmdata, ofstd
    dcmwlm : dcmnet, dcmdata, ofstd
    imagectn/dcmqrdb : dcmnet, dcmdata, ofstd

In addition to the standard libraries, most DCMTK applications have to be linked against the "netapi32" and "wsock32" libraries, even if they contain no networking code. Several external libraries such as zlib, OpenSSL etc. might also be needed. See the INSTALL file for details.

大意就说dcmtk的库文件之间是有依赖关系的,所以在依赖的时候必须按照一定的顺序来。

上面冒号左边的库文件就是依赖于冒号右边的库文件的。


值得注意的是dcmjpeg这一行,可以看到它依赖于ijg8, ijg12, ijg16, dcmimage, dcmimgle, dcmdata, ofstd。

但是!我们看到上面两行,dcmimage是依赖于dcmimgle的。

所以,如果要添加dcmjpeg,正确的顺序应该是:oflog.lib;dcmdata.lib;ijg8.lib;ijg12.lib; ijg16.lib;dcmimgle.lib;dcmimage.lib;dcmjpeg.lib;。加粗的地方的顺序和上面是反过来的

若要添加别的库文件以此类推


按照正确的依赖顺序把库文件加入 项目属性 -> 链接器 -> 输入 -> 附加依赖项 之后,编译通过,可以运行。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值