2011年1月6日发布的dcmtk 3.6.0版本在编译完毕后, 用自己工程调用dcmdata.lib的过程中发现一个这样的错误: "error C1083: Cannot open include file: 'iostream.h'" 它指向到了一个USE_STD_CXX_INCLUDES的宏定义.
后来在比对它的新版本app的源码时才发现自从某个版本之后为了让旧的iostream.h等能与新的iostream
STL一起用(之前版本默认是优先STL),在cmake building之后, USE_STD_CXX_INCLUDES的宏定义生成在了building 目录下的"\include\dcmtk\config\osconfig.h"里. (以前在3.5.4它的宏定义在"cfwin32.h"里, 从source目录里拷贝"osconfig.h"和"cfwin32.h"即可完成此宏的定义)这个请大家注意下.
所以这个问题的解决方法是:
将cmake building 目录下的"\include\dcmtk\config\osconfig.h"拷贝到自己工程的include下面 (覆盖之前从source里拷贝过来的的osconfig.h.)(building前是1KB, building后是27KB左右)
其中在新的iostream.h中有说明
/* DCMTK by default does not anymore pollute the default namespace by
* importing namespace std. Earlier releases did this to simplify compatibility
* with older compilers where STL classes were not consistently defined
* in namespace std. We now have configure macros which should care for this.
* If user code still relies on namespace std to be included, compile with
* macro USING_STD_NAMESPACE defined.
*/
然后在Install说明文件中也有说明:
http://support.dcmtk.org/docs/file_install.html
Visual C++ contains two different implementations of I/O streams which
should never be mixed within one application because this may cause
application errors that are hard to find. The old, now deprecated
implementation uses the traditional cfront header files <iostream.h> etc.
The new implementation uses <iostream> etc. as defined in ANSI/ISO C++.
DCMTK can be configured to use either of the two interfaces. This behaviour
can be changed in "include/dcmtk/config/osconfig.h" in the build directory
where the symbol USE_STD_CXX_INCLUDES is declared.
分享到:
相关推荐
本压缩包“dicom.rar”包含了DCMTK的版本3.6.0,这是一个广泛使用的版本,适用于医疗软件开发。 DCMTK 3.6.0的知识点主要包括以下几个方面: 1. **DICOM标准**:DICOM标准定义了医学图像的格式、编码和通信协议,...
5. **配置头文件和库路径**: 为了能够在自己的项目中使用DCMTK,需要在VS2012的项目属性中设置包含目录(Include Directories)和库目录(Library Directories),以指向DCMTK的头文件和库文件所在位置。 6. **链接...
DCMTK(DICOM ToolKit)是一个开源软件库,专门用于开发与DICOM(Digital Imaging and Communications in Medicine)标准相兼容的应用程序和组件。DICOM是医疗领域广泛使用的标准,用于存储、传输和处理医学影像数据...
Dcmtk3.6.0, 如果从头开始理解DICOM的协议,然后完全自己编写这些代码来实现这些协议,是一件工程浩大的事情。德国offis公司开发的DCMTK,为我们提供了实现DICOM协议的一个平台,使得我们可以在它的基础上轻松的完成...
DCMTK,全称是DICOM ToolKit,是一个开源的C++类库,主要用于处理DICOM(Digital Imaging and Communications in Medicine)标准的数据。DICOM是一种广泛应用于医疗影像行业的通信协议和文件格式,它包含了医疗图像...
做了一个DCMTK 3.6.0版本的CHM帮助文件,拿上来共享一下;有些粗糙,大家不要介意。
**Linux系统下的DCMTK-3.6.0详解** DCMTK(DICOM Toolkit)是一套开源的软件库和工具集,专为处理DICOM(Digital Imaging and Communications in Medicine)标准而设计,广泛应用于医学图像通信、医学影像处理和...
#include <dcmtk/config/osconfig.h> #include <dcmtk/dcmdata/dctk.h> int main(void) { DcmFileFormat fileform; // ... return 0; } ``` 这只是 DCMTK 的基本编译说明,更多的使用方法和技巧需要进一步学习...
这个3.6.0版本的官方帮助文档是开发者和使用者理解DCMTK的重要资源,提供了详尽的函数、类和方法的说明。 DCMTK的核心功能包括: 1. **DICOM网络协议实现**:DCMTK提供了实现DICOM网络协议的工具,如dcmnet库,允许...
这个“dcmtk-3.6.0-win32-i386-support_MD”版本是针对Windows 32位平台的DCMTK支持库,包含了MD(Medical Device)相关的支持。 DICOM是医疗领域广泛采用的数据交换、存储和通信的标准,它定义了如何在不同设备...
名称:DCMTK 评级:★★★★★ 开源许可:BSD 功能: 影像处理,影像归档,影像管理,影像传输 标准:DICOM 语言:英语 客户端: 桌面 平台:跨平台 编程语言:C/C++ 官方网站:http://dicom.offis.de/
包括dcmtk-3.6.0、dcmtk-3.6.0-win32-i386-support_MD和dcmtk-3.6.0-html-help(英文版),同时,附带cmake-3.2.2-win32-x86。 在win7旗舰版32位+VS2005下亲测编译通过,没有问题。
安装完成后,DCMTK的应用程序位于`/usr/bin`,动态链接库在`/usr/local/lib`,头文件在`/usr/local/include/dcmtk`。 ### PHP示例代码 为了更好地利用DCMTK,你可以参考提供的PHP代码示例。例如,可以从以下链接...
DCMTK(Digital Imaging and Communications in Medicine - Toolkit)是一套开源的软件工具包,主要用于开发医学影像处理和通信的应用程序。这个工具集是基于DICOM(Digital Imaging and Communications in Medicine...
dcmtk-3.6.0帮助文档chm版
DCMTK(DICOM ToolKit)是一个开源的C++库,专为开发处理DICOM(Digital Imaging and Communications in Medicine)标准的应用程序而设计。DICOM是医疗成像领域广泛采用的数据交换格式,用于存储、传输和打印医学...
DCMTK 3.5.4版本的include库包含了该框架的核心头文件,允许开发者在自己的应用程序中集成DICOM功能。 DICOM标准不仅定义了数据格式,还规定了设备间的通信协议,涵盖了医学图像的存储、传输、打印、媒体交换等多个...
- 下载最新版本的DCMTK源代码,例如版本3.5.3的下载链接为:[ftp://dicom.offis.de/pub/dicom/offis/software/dcmtk/dcmtk353/dcmtk-3.5.3.zip](ftp://dicom.offis.de/pub/dicom/offis/software/dcmtk/dcmtk353/...
首先,"DCMTK"是DICOM(Digital Imaging and Communications in Medicine)工具包的缩写,这是一个开源软件库,主要用于医学图像处理,如读取、写入和转换DICOM格式的数据。"vs2008"指的是Visual Studio 2008,这是...