DCMTK3.6.0 (MT支持库)安装 完整说明
环境WIN7 + VisualStudio2010 + dcmtk3.6.0 + Cmake2.8.6
准备工作:
从dcmtk官方网站下载源代码及支持库文件。分别名为:dcmtk-3.6.0 dcmtk-3.6.0-win32-i386-support_MT.(注意,要下载***support的压缩文件,而不要下载上面单独列出来的支持库)。将这些压缩文件解压缩到硬盘上一个单独的文件夹里,我的解压缩目录是D:\DCMTK\。
从cmake官方网站下载cmake的安装文件,我下载的是最新的2.8.6版。将其安装到计算机任意目录下。
正文:
1. 将支持库中的相应lib文件,include文件,bin文件拷贝到VS2010安装目录的相应文件夹下。
A. 在解压得到的支持库的文件夹下搜索_d.lib文件(_d代表debug版本),应该会得到7个结果,将这些文件复制到一个单独的文件夹下,并把它们的名字中的_d去掉,例如将zlib_d.lib重命名为zlib.lib。将重命名后的文件拷贝至VS2010安装目录下的lib文件夹下,在我的电脑上是D:\Program Files\Microsoft Visual Studio 10.0\VC\lib\。
B. 在解压得到的支持库的文件夹下搜索include,应该得到5个文件夹,将这些文件夹复制到D:\Program Files\Microsoft Visual Studio 10.0\VC\下,选择合并文件夹(也就是将include文件夹下的内容全部复制到D:\Program Files\Microsoft Visual Studio 10.0\VC\include\目录下)
C. 将D:\DCMTK\dcmtk-3.6.0-win32-i386-support_MT\openssl-1.0.0c\bin下的三个文件复制到D:\Program Files\Microsoft Visual Studio 10.0\VC\bin\下。
2. CMAKE编译
A. 打开安装好的CMAKE。关闭所有跟VS有关的程序。在where is the source code里,选择你的dcmtk源代码的位置,我的源代码位置是D:\DCMTK\dcmtk-3.6.0。在where to build the binaries下选择你想存放build结果的文件夹,我新建了一个D:\DCMTK\dcmtk-bin 的文件夹。
B. 点击Configure,选择编译环境。我的电脑上装的VS2010,因此我选择的Visual Studio2010。点击finish。等待configure完成。这中间会出现***not found的信息,忽略它们。
C. 这时候CMAKE会列出所有的支持库的名字,勾选上openssl,png,tiff,xml和zlib,其他的保持默认。
D. 勾选上Advanced复选框,这是下面的内容变多了。将所有的/MD改成/MT,/MDd改成/MTd。CMAKE_INSTALL_PREFIX下会有安装路径,自选,不要选择带有中文的目录。
E. 再次点击Configure。这回Configure很快,之后点击Generate。
3. VS2010编译
这时在D:\DCMTK\dcmtk-bin下会多出来很多文件夹和文件。用VS2010打开其中的sln文件。在一个solution下会有很多个project。
A. 点击Build->Batch Build,选择ALL_BUILD的debug版,点击右边的Build。耐心等待。会有很多个warning,应该是由字符编码不统一引起的。最后会看到78个编译 成功,0个失败。
B. 之后,再选择Build->Batch Build,这次选择INSTALL的debug版本,点击右边的Build。最后会显示3个工程编译成功,这时在你选择的安装目录下(默认是C:\Program Files\DCMTK)就会有lib,bin,include,etc,share文件夹,里面就是之后写程序做医学图像处理所需要的库文件了!
4. 一个小例程,进行简单的测试
源代码:
#include <dcmtk\config\osconfig.h>
#include <dcmtk\dcmdata\dctk.h>
int main(void)
{
DcmFileFormat fileformat;
OFCondition oc = fileformat.loadFile("D:\\021A3C1C.dcm");
if(oc.good()){
OFString patientName;
if(fileformat.getDataset()->findAndGetOFString(DCM_PatientName, patientName).good())
{
std::cout<<"Patient Name:"<<patientName<<std::endl;
}
}
return 0;
}
A. 将021A3C1C.dcm文件放在D盘根目录下。
B. 新建一个empty win32 console application,在source文件夹下新建一个cpp文件,把以上源代码复制粘贴进去。
C. 右键单击工程名,选择属性(properties),在Configuration Properties->C/C++->General下,Additional Include Directories里加入上一步编译出来的include文件夹,我的电脑上是D:\Program Files\DCMTK\include,这一步是为了让程序能够找到头文件。
D. C/C++->code generation里,Runtime Library 选择/MTd,这一步是要和之前CMAKE的编译选项一致。
E. Linker->General里,Additional Library Directories里填写上一步编译出来的lib文件夹,我的电脑上是D:\Program Files\DCMTK\lib,这一步是为了让程序能够找到之前编译好的lib文件。
F. Linker->Input里,在Additional Dependencies 里依次加上wsock32.lib;netapi32.lib;ofstd.lib;oflog.lib;dcmdata.lib;zlib.lib;这一步是加入具体我们程序需要的lib文件。网上很多的帖子中,都没有提到oflog.lib这个文件,可能是由于旧的版本中并没有使用到这个文件。但是对于3.6.0版,这个lib文件是必需的。
G. Apply ,ok,编译工程,运行,命令行应该输出Patient Name:CHAI YI DONG。
Happy dcmtking!
DCMTK3.6.0 (MT支持库)安装 完整说明的更多相关文章
- DCMTK3.6.0(MD支持库)安装说明
一.运行环境:WIN7 32bit + VisualStudio2008 + dcmtk3.6.0 + Cmake2.8.8 或者 WIN7 64bit 二.准备工作: 1)MD/MT的知识储备: / ...
- DCMTK3.6.1(MD支持库)安装说明
转载:http://qimo601.iteye.com/blog/1685135 [前言] 最近,因为需要开发DICOM网管模块,必须使用DCMTK的DcmNet模块.但是DCMTK3.6.0在Dcm ...
- VS2015编译Qt5.7.0生成支持XP的静态库(很不错)
一.编译工具 1.VS2015 编译Qt5.7.0的所需VS版本:Visual Studio 2013 (Update1)或Visual Studio 2015 (Update2).因为Update补 ...
- Linux下安装PHP的GD支持库
Linux下安装PHP的GD支持库 1.安装 zlib wget ftp://ftp.sunfreeware.com/pub/freeware/SOURCES/zlib-1.2.3.tar.gz ...
- linux中必备常用支持库的安装(CentOS)
在CentOS安装软件的时候,可能缺少一部分支持库,而报错.这里首先安装系统常用的支持库.那么在安装的时候就会减少很多的错误的出现 yum install -y gcc gdb strace gcc- ...
- centos7.6环境zabbix3.2源码编译安装版升级到zabbix4.0长期支持版
zabbix3.2源码编译安装版升级到zabbix4.0长期支持版 项目需求: .2版本不再支持,想升级成4.0的长期支持版 环境介绍: zabbix服务端是编译安装的,数据库和web在一台机器上 整 ...
- 用c++ 给易语言写支持库学习记录
废话我就不对说 直接开始 易语言官方下载的易语言安装路径下 有一个SDK文件夹 我们点进入cpp文件夹里面提供是c++的SDK elib文件夹里就是sdk 我们新建一个win32项目 这里我用的是VS ...
- phpize 扩展GD库 安装 ! 环境--centos 7 +nginx 1.7.11+php 5.6.7
使用phpize编译GD库安装,先安装前置库libjpeg libpng zlib freetype等 都是下面php编译的几个选项 先看php编译的选项: --with-gd=DIR ...
- CentOS 6.0最小化编译安装Nginx+MySQL+PHP+Zend
http://www.osyunwei.com/archives/235.html 引言: 操作系统:CentOS 6.0 32位 下载地址:http://mirrors.163.co ...
随机推荐
- The entity type <type> is not part of the model for the current context
这是在网站里遇到的一个错误,自动生成的不能手动添加, reference: http://stackoverflow.com/questions/19695545/the-entity-type-xx ...
- DOM系列---DOM操作表格
DOM在操作生成HTML上,还是比较简明的.不过,由于浏览器总是存在兼容和陷阱,导致最终的操作就不是那么简单方便了.本篇章主要了解一下DOM操作表格. 一.操作表格 <table>标签是H ...
- python 2.7的安装
最近准备入手学习python 这里我是按照:http://blog.csdn.net/jcjc918/article/details/11022345 来的 我在安装python 3 的时候发现上下左 ...
- linux更改文件所有者命令chown命令的使用困惑
[berry@berry:practice] ls -lrt total -rwxrwxrwx berry berry Dec : f1.txt -rwxrwxrwx berry berry Dec ...
- meta之renderer
今天不小心看了下慕课网首页的源码,看到有一行 1 <meta name="renderer" content="webkit|ie-comp|ie-stand&qu ...
- 【kAri OJ 616】Asce的树
时间限制 1000 ms 内存限制 65536 KB 题目描述 作为一个东北大老爷们,大A熊以力气大著称,现在有一颗半径为r的树,剖面图如黑色的圆,大A熊决定搬几个半径为R的圆柱形桶将其围住,剖面图如 ...
- 【UVA 1583】Digit Generator
题 题意 a加上 a的各位数=b,则b是a的digitSum,a是b的generator,现在给你digitSum,让你求它的最小的generator. 分析 一种方法是: 预处理打表,也就是把1到1 ...
- HDU-1698 JUST A HOOK 线段树
最近刚学线段树,做了些经典题目来练手 Just a Hook Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (J ...
- codevs3243 区间翻转
题目描述 Description 给出N个数,要求做M次区间翻转(如1 2 3 4变成4 3 2 1),求出最后的序列 输入描述 Input Description 第一行一个数N,下一行N个数表示原 ...
- nginx在linux中安装
下载地址:http://qkxue.net/ 1.2 解压 使用命令:tar zxvf nginx-1.8.1.tar.gz 1.3 切换至解压目录,安装依赖 yum -y install ...