首先下载dcmtk源码,目前最新版本3.6.1,下载地址:ftp://ftp.dcmtk.org/pub/dicom/offis/software/dcmtk/snapshot/

用最新版的CMake生成源码项目,此处开发环境为win7x64的VS2012,注意在编译选项中选择”Visual Studio 11 2012 win64”,必须选择带有”win 64”的一项!切勿选择第三方库,即“dcmtk-3.6.0-win32-i386-support_MD”里的png、xml、openssl、tiff、zlib五个库,因为这些库官方只给出了x86的lib
3.6.1支持生成dll,这就方便很多了,编译自己的程序时只需要引用lib和头文件,运行程序时在同一目录下方dll

最后VS中依次编译ALL_BUILD和INSTALL


调用dcmtk库的时候,即编译自己的项目时,可能会报以下错误:
错误 3 error C2665: “dcmtk::log4cplus::Logger::getInstance”: 2 个重载中没有一个可以转换所有参数类型 xxxxxx\include\dcmtk\oflog\logmacro.h 106
错误 1 error C2678: 二进制“+”: 没有找到接受“const wchar_t [8]”类型的左操作数的运算符(或没有可接受的转换) xxxxxx\include\dcmtk\oflog\tracelog.h 59
需要设置项目属性的“字符集”为“多字节字符集”


3.6.1与3.6.0的区别:
E_TransferSyntax的定义不同了,3.6.0的定义如下:

typedef enum {
/// unknown transfer syntax or dataset created in-memory
EXS_Unknown = -1,
/// Implicit VR Little Endian
EXS_LittleEndianImplicit = 0,
/// Implicit VR Big Endian (pseudo transfer syntax that does not really exist)
EXS_BigEndianImplicit = 1,
/// Explicit VR Little Endian
EXS_LittleEndianExplicit = 2,
/// Explicit VR Big Endian
EXS_BigEndianExplicit = 3,
/// JPEG Baseline (lossy)
EXS_JPEGProcess1TransferSyntax = 4,
/// JPEG Extended Sequential (lossy, 8/12 bit)
EXS_JPEGProcess2_4TransferSyntax = 5,
/// JPEG Extended Sequential (lossy, 8/12 bit), arithmetic coding
EXS_JPEGProcess3_5TransferSyntax = 6,
/// JPEG Spectral Selection, Non-Hierarchical (lossy, 8/12 bit)
EXS_JPEGProcess6_8TransferSyntax = 7,
/// JPEG Spectral Selection, Non-Hierarchical (lossy, 8/12 bit), arithmetic coding
EXS_JPEGProcess7_9TransferSyntax = 8,
/// JPEG Full Progression, Non-Hierarchical (lossy, 8/12 bit)
EXS_JPEGProcess10_12TransferSyntax = 9,
/// JPEG Full Progression, Non-Hierarchical (lossy, 8/12 bit), arithmetic coding
EXS_JPEGProcess11_13TransferSyntax = 10,
/// JPEG Lossless with any selection value
EXS_JPEGProcess14TransferSyntax = 11,
/// JPEG Lossless with any selection value, arithmetic coding
EXS_JPEGProcess15TransferSyntax = 12,
/// JPEG Extended Sequential, Hierarchical (lossy, 8/12 bit)
EXS_JPEGProcess16_18TransferSyntax = 13,
/// JPEG Extended Sequential, Hierarchical (lossy, 8/12 bit), arithmetic coding
EXS_JPEGProcess17_19TransferSyntax = 14,
/// JPEG Spectral Selection, Hierarchical (lossy, 8/12 bit)
EXS_JPEGProcess20_22TransferSyntax = 15,
/// JPEG Spectral Selection, Hierarchical (lossy, 8/12 bit), arithmetic coding
EXS_JPEGProcess21_23TransferSyntax = 16,
/// JPEG Full Progression, Hierarchical (lossy, 8/12 bit)
EXS_JPEGProcess24_26TransferSyntax = 17,
/// JPEG Full Progression, Hierarchical (lossy, 8/12 bit), arithmetic coding
EXS_JPEGProcess25_27TransferSyntax = 18,
/// JPEG Lossless, Hierarchical
EXS_JPEGProcess28TransferSyntax = 19,
/// JPEG Lossless, Hierarchical, arithmetic coding
EXS_JPEGProcess29TransferSyntax = 20,
/// JPEG Lossless, Selection Value 1
EXS_JPEGProcess14SV1TransferSyntax = 21,
/// Run Length Encoding (lossless)
EXS_RLELossless = 22,
/// JPEG-LS (lossless)
EXS_JPEGLSLossless = 23,
/// JPEG-LS (lossless or near-lossless mode)
EXS_JPEGLSLossy = 24,
/// Deflated Explicit VR Little Endian
EXS_DeflatedLittleEndianExplicit = 25,
/// JPEG 2000 (lossless)
EXS_JPEG2000LosslessOnly = 26,
/// JPEG 2000 (lossless or lossy)
EXS_JPEG2000 = 27,
/// MPEG2 Main Profile at Main Level
EXS_MPEG2MainProfileAtMainLevel = 28,
/// MPEG2 Main Profile at High Level
EXS_MPEG2MainProfileAtHighLevel = 29,
/// JPEG 2000 part 2 multi-component extensions (lossless)
EXS_JPEG2000MulticomponentLosslessOnly = 30,
/// JPEG 2000 part 2 multi-component extensions (lossless or lossy)
EXS_JPEG2000Multicomponent = 31,
/// JPIP Referenced
EXS_JPIPReferenced = 32,
/// JPIP Referenced Deflate
EXS_JPIPReferencedDeflate = 33
} E_TransferSyntax;

3.6.1定义如下:

typedef enum {
/// unknown transfer syntax or dataset created in-memory
EXS_Unknown = -1,
/// Implicit VR Little Endian
EXS_LittleEndianImplicit = 0,
/// Implicit VR Big Endian (pseudo transfer syntax that does not really exist)
EXS_BigEndianImplicit = 1,
/// Explicit VR Little Endian
EXS_LittleEndianExplicit = 2,
/// Explicit VR Big Endian
EXS_BigEndianExplicit = 3,
/// JPEG Baseline (lossy)
EXS_JPEGProcess1 = 4,
/// JPEG Extended Sequential (lossy, 8/12 bit)
EXS_JPEGProcess2_4 = 5,
/// JPEG Extended Sequential (lossy, 8/12 bit), arithmetic coding
EXS_JPEGProcess3_5 = 6,
/// JPEG Spectral Selection, Non-Hierarchical (lossy, 8/12 bit)
EXS_JPEGProcess6_8 = 7,
/// JPEG Spectral Selection, Non-Hierarchical (lossy, 8/12 bit), arithmetic coding
EXS_JPEGProcess7_9 = 8,
/// JPEG Full Progression, Non-Hierarchical (lossy, 8/12 bit)
EXS_JPEGProcess10_12 = 9,
/// JPEG Full Progression, Non-Hierarchical (lossy, 8/12 bit), arithmetic coding
EXS_JPEGProcess11_13 = 10,
/// JPEG Lossless with any selection value
EXS_JPEGProcess14 = 11,
/// JPEG Lossless with any selection value, arithmetic coding
EXS_JPEGProcess15 = 12,
/// JPEG Extended Sequential, Hierarchical (lossy, 8/12 bit)
EXS_JPEGProcess16_18 = 13,
/// JPEG Extended Sequential, Hierarchical (lossy, 8/12 bit), arithmetic coding
EXS_JPEGProcess17_19 = 14,
/// JPEG Spectral Selection, Hierarchical (lossy, 8/12 bit)
EXS_JPEGProcess20_22 = 15,
/// JPEG Spectral Selection, Hierarchical (lossy, 8/12 bit), arithmetic coding
EXS_JPEGProcess21_23 = 16,
/// JPEG Full Progression, Hierarchical (lossy, 8/12 bit)
EXS_JPEGProcess24_26 = 17,
/// JPEG Full Progression, Hierarchical (lossy, 8/12 bit), arithmetic coding
EXS_JPEGProcess25_27 = 18,
/// JPEG Lossless, Hierarchical
EXS_JPEGProcess28 = 19,
/// JPEG Lossless, Hierarchical, arithmetic coding
EXS_JPEGProcess29 = 20,
/// JPEG Lossless, Selection Value 1
EXS_JPEGProcess14SV1 = 21,
/// Run Length Encoding (lossless)
EXS_RLELossless = 22,
/// JPEG-LS (lossless)
EXS_JPEGLSLossless = 23,
/// JPEG-LS (lossless or near-lossless mode)
EXS_JPEGLSLossy = 24,
/// Deflated Explicit VR Little Endian
EXS_DeflatedLittleEndianExplicit = 25,
/// JPEG 2000 (lossless)
EXS_JPEG2000LosslessOnly = 26,
/// JPEG 2000 (lossless or lossy)
EXS_JPEG2000 = 27,
/// MPEG2 Main Profile at Main Level
EXS_MPEG2MainProfileAtMainLevel = 28,
/// MPEG2 Main Profile at High Level
EXS_MPEG2MainProfileAtHighLevel = 29,
/// MPEG4 High Profile / Level 4.1
EXS_MPEG4HighProfileLevel4_1 = 30,
/// MPEG4 BD-compatible High Profile / Level 4.1
EXS_MPEG4BDcompatibleHighProfileLevel4_1 = 31,
/// MPEG4 High Profile / Level 4.2 For 2D Video
EXS_MPEG4HighProfileLevel4_2_For2DVideo = 32,
/// MPEG4 High Profile / Level 4.2 For 3D Video
EXS_MPEG4HighProfileLevel4_2_For3DVideo = 33,
/// MPEG4 Stereo High Profile / Level 4.2
EXS_MPEG4StereoHighProfileLevel4_2 = 34,
/// JPEG 2000 part 2 multi-component extensions (lossless)
EXS_JPEG2000MulticomponentLosslessOnly = 35,
/// JPEG 2000 part 2 multi-component extensions (lossless or lossy)
EXS_JPEG2000Multicomponent = 36,
/// JPIP Referenced
EXS_JPIPReferenced = 37,
/// JPIP Referenced Deflate
EXS_JPIPReferencedDeflate = 38
} E_TransferSyntax;

编译64位dcmtk库相关推荐

  1. 在Windows上通过cygwin和VC编译64位iconv库

    操作系统版本Windows 11 X64专业版 Visual Studio 2019 Professional Cygwin64安装gcc-core.g++.gdb.make.libtool包 以下所 ...

  2. Window下编译 64位ffmpeg 引入libx264及libmp3lame编码库

    好记性不如烂笔头,每次编译总要有些时间折腾,记录下编译过程,方便后来者. 本文 介绍windows下编译64位Ffmpeg库 (版本V4.02)如何引入libx264及libmp3lame(编码mp3 ...

  3. 使用VS2010编译64的Geos库

    Geos库在cmake中总是报错,所以我决定试试nmake编译64位的库.现将编译过程记录如下: 1.下载Geos,我下的是最新版3.5.0,地址在 http://trac.osgeo.org/geo ...

  4. CentOS下编译64位的libpython2.6.so.1.0库

    CentOS下编译64位的libpython2.6.so.1.0库 - Cody的专栏 - 博客频道 - CSDN.NET CentOS下编译64位的libpython2.6.so.1.0库 2011 ...

  5. Windows下VS2015 MPI编译64位Boost1.64

    Windows下VS2015编译64位Boost1.64 2017年12月08日 15:51:48 阅读数:346 参考原帖:https://gist.github.com/UnaNancyOwen/ ...

  6. Windows7_x64下编译64位ffmpeg

    一点心青的文章指导得非常详细,本应是非常顺利的.但我仍然为编译64位ffmpeg耽误了很久,现在总结一下经验教训: 1. 经验:在编译SDL的时候,我直接使用了1.2.5的版本,省去了很多麻烦: 2. ...

  7. VS2013编译64位boost流程及若干问题

    为了编译CGAL库,必须要先编译boost,在编译64位库时遇到了一些问题,主要解决办法是: 1. 选择VS2013安装目录下的"x64兼容命令提示"命令行对话框: 2. 切换到b ...

  8. gdal1.6linux编译,VS2015下编译64位GDAL总结

    使用VS2015编译最新的64位GDAL(最新gdal2.11),确实有一些问题,看来双方还是太新了,有点不兼容,特总结如下. 以前经常用的通过VisualStudio IDE进行编译的方式现在似乎不 ...

  9. 编译64位Detours(其他vs版本同理)

    编译64位Detours fatal error C1083: 无法打开包括文件:"excpt.h" vs2012编译64位Detours(其他vs版本同理) vs项目设置选项 使 ...

  10. linux cmake 编译64位,cmake编译win下64位obs

    obs是一款开源编码推流工具,简单易用,非常流行. 一次项目中,发现本台式机I3处理器下32位obs推流CPU使用率100%.而使用的第三方设备在64位下,性能较好. 所以需要编译64位obs并且编译 ...

最新文章

  1. 一些关于人工智能的讨论(二)
  2. CentOS6 英文系统安装ibus
  3. IE 8兼容:meta http-equiv=X-UA-Compatible content=IE=edge / X-UA-Compatible的解释
  4. qt使用动画提示正在载中
  5. MySQL学习(二)
  6. 倪光南院士:云计算发展须和云安全同步推进
  7. 缓冲文件系统和非缓冲文件系统
  8. iOS开发日记56-详解UIImage
  9. 查询好友IP地址的几种方法
  10. 基于内容的视频搜索引擎
  11. 企业级即时通讯通信平台的实现
  12. 超级实用springBoot学习
  13. [C语言]if语句的常见用法
  14. express項目部署阿里云服务器
  15. 基于PT8.2网关的二氧化碳监测及联动控制
  16. atcoder【AGC004E】Salvage Robots
  17. github.com/spf13/viper go viper包介绍
  18. HTTP Status 500 - Failed to evaluate expression 'ROLE_USER'
  19. 线性代数(5)—— 向量组的秩和矩阵的秩
  20. 手机发不出短信 htc hero g3

热门文章

  1. 从一个月2500没人要到大厂技术主管的编程之路|我的十年
  2. 实用主义学python爬虫_麻瓜编程 实用主义学Python2018
  3. 数学基础 | (3) cs229概率论基础
  4. Steam中如何下载锁区的游戏?一直出现 正在更新票证怎么办?
  5. python怎么输出键值对_python 获取字典键值对的实现
  6. 在Ubuntu 20.04(Linux Mint 各衍生版)上安装使用国金证券 通达信 客户端软件。
  7. zend studio12配置php,Zend Studio 12.0调试php代码
  8. 用EMU8086实现段间远调用
  9. docker安装cboard
  10. 偏相关分析在python上的实现(支持栅格数据)