DCMTK的编译总结

来源:互联网 发布:教育云数据什么意思 编辑:程序博客网 时间:2024/05/21 09:03

最近因为项目原因,突然要我熟悉Dicom协议,之前听都没听说过的,在Google一番后,发觉这个水实在太深了,那个协议看着和天书也差不多少了,而且七七八八也下了一些开源的库啊,软件什么的,但一个对协议都一知半解的人咋能看懂呢?这里非常感谢一个台湾人的一篇Blog(http://blog.chinson.idv.tw/2008/07/dcmtk-for-visual-c-2005.html),还有就是PACS专家网(http://www.pacser.net),还有通过Google搜索到不少宝贝,哦,还有重要的《基于DCMTK的DICOM相关程序编写攻略》这篇文章,让我大概有了一个学习的方向。不过在学习过程中,DCMTK的编译还确实是个不大不小的问题,反正我是搞了个通宵,最后就是发现CMAKE的版本问题,瞬间不知道是不是该高兴。

下面我还是详细的说说编译的过程吧,从一个菜鸟的角度,也希望可以帮助到更多像我这么菜的人,呵呵

 

关于DCMTK的定义以及背景什么的就请大家Google吧,这里我只说说编译的事情。

不说别的,先把需要的东西下载下来,包括源代码,支持库以及CMake(生成工具),前两个的下载地址:http://www.dcmtk.org/dcmtk.php.en

在这个网址上只需要下如下两个包

 

这么就是DCMTK的源代码和需要的支持库了,现在菜已经有了,就差炒菜的锅和铲了,呵呵,那就是大名鼎鼎的CMAKE工具了,下载网址是http://www.cmake.org/cmake/resources/software.html,这里记得一定要下载2.4这个版本,不要下载2.6版本的(现在的代码对2.6版本支持的不好),还是放上一张图吧,以免弄错了

至此,需要下载的内容都已经搞定了,下面就将DCMTK和支持库都解压到一个指定的目录即可,解压完的效果如图:

下面要修改一下CMakeLists.txt这个文件,他就在dcmtk-3.5.4这个文件夹的根目录,其实修改的内容很简单就是将MTd替换为MDd一级MT替换为MD,修改后保存即可,至此前期的准备工作都已经做好了,下面就开始正式的编译了。。。

 

在编译之前我们首先要通过CMake工具生成我们需要的项目,关于CMake的一些介绍以及为什么这么麻烦的还要在生成一下的问题还请大家Google一下,就不在这里浪费时间了。

 

要使用CMake之前可以将其解压至任何一个文件夹,然后去bin目录下双击CMakeSetup.exe即可,主界面如下:

 

首先在Where is the source code和Where build the binaries的里选择刚才解压的DCMTK的代码和支持库,然后点击Configure按钮,选择使用的编译工具(我现在还是比较习惯VS2005的),具体如下图

选择好编译环境后,此时CMake可以检测出文件夹内需要编译的文件,如下图

这里要注意图中红色框的标示的地方都需要设置为off,这些外部库是不需要编译的。处理好之后,然后再点击一次Configure按钮之后在点击OK即可,在最底部会有完成度的提示,执行完成后,软件会自动关闭,此时查看dcmtk的文件夹内会多出vs2005的解决方案文件、和ALL_BUILD项目、INSTALL的项目和ZERO_CHECK项目,正常完成后该文件夹内如下:

然后,双击dcmtk.sln,进入到VS2005,选择ALL_BUILD项目,选择生成,就会对整个DCMTK解决方案进行编译并生成,具体如下图:

这时候可以休息一下,喝杯茶什么的,需要编译一会的,完成后,会提示有一个项目被跳过,其他项目都编译成功,被跳过的那个项目就是INSTALL项目的,这个时候在生成一下即可,好了,总算大功告成了,什么?我们的成果在哪?去看看你刚才放DCMTK代码和支持库的那个目录吧,看有没有多一个文件夹叫dcmtk-3.5.4-win32-i386?恩,恭喜,恭喜,这个就是你编译出来的,里面的bin目录放了一大堆很好的工具,而且代码都有,要好好学习的,include文件就不说了,里面都是后面要用的头文件,lib文件全部都是库文件了,好了,DCMTK的编译就结束了,但DCMTK的学习才刚刚开始,大家一起努力吧!

如果上面有什么错漏请及时告诉我,以免误导了别人就不好了,另外在编译过程中有什么问题也可以提出来,我一定尽全力帮助,我的E-Mail:changyu496@gmail.com

谢谢大家!

原创粉丝点击