- 浏览: 3446442 次
- 性别:
- 来自: 苏州
文章分类
最新评论
-
sonichy:
Qt5改动很多,要改改了。
基于QItemDelegate的例子1 SpinBoxDelegate -
我的主页6:
楼主,2.2子查询的分页方式:SELECT * FROM ar ...
Mysql 分页语句Limit用法 -
liguoqi:
非常感谢楼主的用心指导,工具以及图片例子都提供了 赞!
两款免费DCIOM 图像浏览软件介绍和DICOM图像例子供下载 -
liguoqi:
问下这个图片怎么解压损坏呀
两款免费DCIOM 图像浏览软件介绍和DICOM图像例子供下载 -
liguoqi:
楼主讲解的非常详细,还附带工具和图片例子,非常感谢
两款免费DCIOM 图像浏览软件介绍和DICOM图像例子供下载
首先要明白DCMTK默认选择的/MT和/MTd的运行时库。
在DCMTK3.5.4中的CMake配置文件CMakeLists.txt有对外部动态库的路径描述,而且通过CMake程序可以直接修改运行时库和支持库的开关属性。3.5.4配置文件的外部动态库的开关和引用路径,如下图(点击图片可以看高清图)
在DCMTK3.6.0的CMake配置文件CMakeLists.txt只有外部动态库的开关,没有路径。所以一般需要将include、lib、bin文件拷贝到VC的安装目录下,这样在我们的VC项目中才能默认找到这些头文件、动态库。而且CMake无法正确的在界面上直接修改DCMTK3.6.0的配置属性,在Configer、Generate后,生成的Binary项目,还是MD/MDd的运行时库。
DCMTk3.6.0的CMake配置文件CMakeLists.txt,动态库开关请看下图,(点击图片可以看高清图)
DCMTk3.6.0的CMake配置文件CMakeLists.txt,运行时库选择请看下图,(点击图片可以看高清图)
可以看一下dcmtk-3.6.0\CMakeLists.txt
# declare project PROJECT(dcmtk) # check for Windows operating system IF(NOT WIN32) MESSAGE(FATAL_ERROR "Please use GNU autoconf for Unix systems.") ENDIF(NOT WIN32) # check required version of CMake CMAKE_MINIMUM_REQUIRED(VERSION 2.0) IF(CMAKE_BACKWARDS_COMPATIBILITY GREATER 2.0.6) SET(CMAKE_BACKWARDS_COMPATIBILITY 2.0.6 CACHE STRING "Latest version of CMake when this project was released." FORCE) ENDIF(CMAKE_BACKWARDS_COMPATIBILITY GREATER 2.0.6) # default build type SET(CMAKE_BUILD_TYPE RELEASE) # various CMake-specific settings SET(CMAKE_USE_RELATIVE_PATHS ON) SET(CMAKE_SUPPRESS_REGENERATION ON) MARK_AS_ADVANCED(FORCE EXECUTABLE_OUTPUT_PATH LIBRARY_OUTPUT_PATH) # define user configurable options and paths to external libraries which might be used # installation path prefix SET(INSTALL_PREFIX "${dcmtk_SOURCE_DIR}/../dcmtk-3.5.4-win32-i386/" CACHE PATH "Installation path prefix.") # shared libraries (option not yet available) #OPTION(WITH_SHARED_LIBS "Build with shared libraries." OFF) SET(WITH_SHARED_LIBS OFF) SET(BUILD_SHARED_LIBS ${WITH_SHARED_LIBS}) # doxygen support FIND_PROGRAM(DOXYGEN_EXECUTABLE "doxygen") # libxml support OPTION(WITH_LIBXML "Build with libxml support." OFF) FIND_PATH(WITH_LIBXMLINC "include/libxml/parser.h" "${dcmtk_SOURCE_DIR}/../libxml2-2.6.26") # libpng support OPTION(WITH_LIBPNG "Build with libpng support." ON) FIND_PATH(WITH_LIBPNGINC "include/png.h" "${dcmtk_SOURCE_DIR}/../libpng-1.2.8") # libtiff support OPTION(WITH_LIBTIFF "Build with libtiff support." ON) FIND_PATH(WITH_LIBTIFFINC "include/tiff.h" "${dcmtk_SOURCE_DIR}/../tiff-3.7.4") # openssl support OPTION(WITH_OPENSSL "Build with openssl support." OFF) FIND_PATH(WITH_OPENSSLINC "include/openssl/ssl.h" "${dcmtk_SOURCE_DIR}/../openssl-0.9.8a") # zlib support OPTION(WITH_ZLIB "Build with zlib support." ON) FIND_PATH(WITH_ZLIBINC "include/zlib.h" "${dcmtk_SOURCE_DIR}/../zlib-1.2.3") # set project wide flags for compiler and linker # settings for Microsoft Visual C IF(CMAKE_C_COMPILER MATCHES cl) IF(NOT WITH_SHARED_LIBS) IF(CMAKE_GENERATOR STREQUAL "Visual Studio 6") SET(CMAKE_C_FLAGS "/nologo /W3 /GX /Gy /YX") SET(CMAKE_C_FLAGS_DEBUG "/MTd /Z7 /Od") SET(CMAKE_C_FLAGS_RELEASE "/MT /O2") SET(CMAKE_C_FLAGS_MINSIZEREL "/MT /O2") SET(CMAKE_C_FLAGS_RELWITHDEBINFO "/MTd /Z7 /Od") ENDIF(CMAKE_GENERATOR STREQUAL "Visual Studio 6") IF(CMAKE_GENERATOR STREQUAL "Visual Studio 7" OR CMAKE_GENERATOR STREQUAL "Visual Studio 7 .NET 2003") SET(CMAKE_C_FLAGS "/nologo /W3 /Gy") SET(CMAKE_C_FLAGS_DEBUG "/MTd /Z7 /Od") SET(CMAKE_C_FLAGS_RELEASE "/MT /O2") SET(CMAKE_C_FLAGS_MINSIZEREL "/MT /O2") SET(CMAKE_C_FLAGS_RELWITHDEBINFO "/MTd /Z7 /Od") ENDIF(CMAKE_GENERATOR STREQUAL "Visual Studio 7" OR CMAKE_GENERATOR STREQUAL "Visual Studio 7 .NET 2003") IF(CMAKE_GENERATOR STREQUAL "Visual Studio 8 2005") SET(CMAKE_C_FLAGS "/nologo /W3 /Gy") SET(CMAKE_C_FLAGS_DEBUG "/MTd /Z7 /Od") SET(CMAKE_C_FLAGS_RELEASE "/MT /O2") SET(CMAKE_C_FLAGS_MINSIZEREL "/MT /O2") SET(CMAKE_C_FLAGS_RELWITHDEBINFO "/MTd /Z7 /Od") ENDIF(CMAKE_GENERATOR STREQUAL "Visual Studio 8 2005") ENDIF(NOT WITH_SHARED_LIBS) ENDIF(CMAKE_C_COMPILER MATCHES cl) # settings for Microsoft Visual C++ IF(CMAKE_CXX_COMPILER MATCHES cl) IF(NOT WITH_SHARED_LIBS) IF(CMAKE_GENERATOR STREQUAL "Visual Studio 6") SET(CMAKE_CXX_FLAGS "/nologo /W3 /GX /Gy /YX") SET(CMAKE_CXX_FLAGS_DEBUG "/MTd /Z7 /Od") SET(CMAKE_CXX_FLAGS_RELEASE "/MT /O2") SET(CMAKE_CXX_FLAGS_MINSIZEREL "/MT /O2") SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "/MTd /Z7 /Od") ENDIF(CMAKE_GENERATOR STREQUAL "Visual Studio 6") IF(CMAKE_GENERATOR STREQUAL "Visual Studio 7" OR CMAKE_GENERATOR STREQUAL "Visual Studio 7 .NET 2003") SET(CMAKE_CXX_FLAGS "/nologo /W3 /Gy") SET(CMAKE_CXX_FLAGS_DEBUG "/MTd /Z7 /Od") SET(CMAKE_CXX_FLAGS_RELEASE "/MT /O2") SET(CMAKE_CXX_FLAGS_MINSIZEREL "/MT /O2") SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "/MTd /Z7 /Od") ENDIF(CMAKE_GENERATOR STREQUAL "Visual Studio 7" OR CMAKE_GENERATOR STREQUAL "Visual Studio 7 .NET 2003") IF(CMAKE_GENERATOR STREQUAL "Visual Studio 8 2005") SET(CMAKE_CXX_FLAGS "/nologo /W3 /Gy") SET(CMAKE_CXX_FLAGS_DEBUG "/MTd /Z7 /Od") SET(CMAKE_CXX_FLAGS_RELEASE "/MT /O2") SET(CMAKE_CXX_FLAGS_MINSIZEREL "/MT /O2") SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "/MTd /Z7 /Od") ENDIF(CMAKE_GENERATOR STREQUAL "Visual Studio 8 2005") ENDIF(NOT WITH_SHARED_LIBS) ENDIF(CMAKE_CXX_COMPILER MATCHES cl) # settings for Borland C++ IF(CMAKE_CXX_COMPILER MATCHES bcc32) # further settings required? SET(CMAKE_STANDARD_LIBRARIES "import32.lib cw32mt.lib") ENDIF(CMAKE_CXX_COMPILER MATCHES bcc32) # set general compiler flags ADD_DEFINITIONS(-D_REENTRANT) # set precompiler switches, directories and libraries # according to optional settings # libxml support IF(WITH_LIBXML AND WITH_LIBXMLINC) ADD_DEFINITIONS(-DWITH_LIBXML) SET(LIBXML_INCDIR ${WITH_LIBXMLINC}/include) SET(LIBXML_LIBDIR ${WITH_LIBXMLINC}/lib) SET(LIBXML_LIBS debug libxml2_d optimized libxml2_o debug iconv_d optimized iconv_o) ENDIF(WITH_LIBXML AND WITH_LIBXMLINC) # libpng support IF(WITH_LIBPNG AND WITH_LIBPNGINC) ADD_DEFINITIONS(-DWITH_LIBPNG) SET(LIBPNG_INCDIR ${WITH_LIBPNGINC}/include) SET(LIBPNG_LIBDIR ${WITH_LIBPNGINC}/lib) SET(LIBPNG_LIBS debug libpng_d optimized libpng_o) ENDIF(WITH_LIBPNG AND WITH_LIBPNGINC) # libtiff support IF(WITH_LIBTIFF AND WITH_LIBTIFFINC) ADD_DEFINITIONS(-DWITH_LIBTIFF) SET(LIBTIFF_INCDIR ${WITH_LIBTIFFINC}/include) SET(LIBTIFF_LIBDIR ${WITH_LIBTIFFINC}/lib) SET(LIBTIFF_LIBS debug libtiff_d optimized libtiff_o) ENDIF(WITH_LIBTIFF AND WITH_LIBTIFFINC) # openssl support IF(WITH_OPENSSL AND WITH_OPENSSLINC) ADD_DEFINITIONS(-DWITH_OPENSSL) SET(OPENSSL_BINDIR ${WITH_OPENSSLINC}/bin) SET(OPENSSL_INCDIR ${WITH_OPENSSLINC}/include) SET(OPENSSL_LIBDIR ${WITH_OPENSSLINC}/lib) SET(OPENSSL_LIBS debug dcmtkssl_d.lib optimized dcmtkssl_o.lib debug dcmtkeay_d.lib optimized dcmtkeay_o.lib) ENDIF(WITH_OPENSSL AND WITH_OPENSSLINC) # zlib support IF(WITH_ZLIB AND WITH_ZLIBINC) ADD_DEFINITIONS(-DWITH_ZLIB) SET(ZLIB_INCDIR ${WITH_ZLIBINC}/include) SET(ZLIB_LIBDIR ${WITH_ZLIBINC}/lib) SET(ZLIB_LIBS debug zlib_d optimized zlib_o) ENDIF(WITH_ZLIB AND WITH_ZLIBINC) # specify installation prefix SET(CMAKE_INSTALL_PREFIX ${INSTALL_PREFIX}) # specify installation sub-directories SET(INSTALL_BINDIR "/bin") SET(INSTALL_ETCDIR "/etc") SET(INSTALL_DATDIR "/share/data") SET(INSTALL_DOCDIR "/share/doc") SET(INSTALL_HTMDIR "/share/doc/html") SET(INSTALL_INCDIR "/include") SET(INSTALL_LIBDIR "/lib") SET(INSTALL_MANDIR "/man") # declare installation files INSTALL_FILES(${INSTALL_DOCDIR} FILES COPYRIGHT FAQ HISTORY) # declare include directories which hold for all subdirectories and subsubdirectories INCLUDE_DIRECTORIES(${dcmtk_SOURCE_DIR}/config/include) # recurse into subdirectories SUBDIRS(config ofstd dcmdata dcmtls dcmnet dcmqrdb dcmimgle dcmimage dcmjpeg dcmsign dcmsr dcmpstat dcmwlm doxygen) # add non-public modules #SUBDIRS(dcmdbsup dcmwlmxl dcmpps dcmppswm dcmjp2k dcmqrdbx dcmcheck dcmprint dcmavi dcmmisc)
可以看一下dcmtk-3.5.4\CMakeLists.txt
# Declare project PROJECT(DCMTK) # Minimum CMake version required CMAKE_MINIMUM_REQUIRED(VERSION 2.4) IF(CMAKE_BACKWARDS_COMPATIBILITY GREATER 2.8.3) SET(CMAKE_BACKWARDS_COMPATIBILITY 2.8.3 CACHE STRING "Latest version of CMake when this project was released." FORCE) ENDIF(CMAKE_BACKWARDS_COMPATIBILITY GREATER 2.8.3) #----------------------------------------------------------------------------- # General project settings to configure DCMTK build process #----------------------------------------------------------------------------- # Modules to be built (default: build all public modules) SET(DCMTK_MODULES config ofstd oflog dcmdata dcmimgle dcmjpeg dcmimage dcmtls dcmnet dcmwlm dcmqrdb dcmsr dcmpstat dcmsign dcmjpls doxygen) # Add non-public modules #SET(DCMTK_MODULES ${DCMTK_MODULES} dcmdbsup dcmwlmxl dcmpps dcmppswm dcmjp2k dcmloco dcmqrdbx dcmcheck dcmprint dcmprscp dcmavi dcmmisc dcmppscu dcmstcom dcmrt dcmwave dcmeval) # Package "release" settings (some are currently unused) SET(DCMTK_PACKAGE_NAME "dcmtk") SET(DCMTK_PACKAGE_DATE "2011-01-06") #SET(DCMTK_PACKAGE_TARNAME "dcmtk-3.6.0") SET(DCMTK_PACKAGE_VERSION "3.6.0") SET(DCMTK_PACKAGE_VERSION_NUMBER "360") SET(DCMTK_PACKAGE_VERSION_SUFFIX "") #SET(DCMTK_PACKAGE_STRING "dcmtk 3.6.0") #SET(DCMTK_PACKAGE_BUGREPORT "dicom-bugs@offis.de") # DCMTK build options OPTION(DCMTK_WITH_TIFF "Configure DCMTK with support for TIFF" ON) OPTION(DCMTK_WITH_PNG "Configure DCMTK with support for PNG" ON) OPTION(DCMTK_WITH_XML "Configure DCMTK with support for XML" OFF) OPTION(DCMTK_WITH_ZLIB "Configure DCMTK with support for ZLIB" ON) OPTION(DCMTK_WITH_OPENSSL "Configure DCMTK with support for OPENSSL" OFF) OPTION(DCMTK_WITH_SNDFILE "Configure DCMTK with support for SNDFILE" OFF) MARK_AS_ADVANCED(SNDFILE_DIR DCMTK_WITH_SNDFILE) # not yet needed in public DCMTK OPTION(DCMTK_WITH_PRIVATE_TAGS "Configure DCMTK with support for DICOM private tags coming with DCMTK" OFF) OPTION(DCMTK_WITH_THREADS "Configure DCMTK with support for multi-threading" ON) OPTION(DCMTK_WITH_DOXYGEN "Build API documentation with doxygen" ON) #SET(CXX_TEST_PATH ${EXECUTABLE_OUTPUT_PATH}) #----------------------------------------------------------------------------- # Include directories #----------------------------------------------------------------------------- SET(DCMTK_INCLUDE_DIR ${DCMTK_BINARY_DIR}/include #${DCMTK_SOURCE_DIR}/config/include ${DCMTK_SOURCE_DIR}/ofstd/include ${DCMTK_SOURCE_DIR}/oflog/include ${DCMTK_SOURCE_DIR}/dcmdata/include ${DCMTK_SOURCE_DIR}/dcmimgle/include ${DCMTK_SOURCE_DIR}/dcmimage/include ${DCMTK_SOURCE_DIR}/dcmjpeg/libijg8 ${DCMTK_SOURCE_DIR}/dcmjpeg/libijg12 ${DCMTK_SOURCE_DIR}/dcmjpeg/libijg16 ${DCMTK_SOURCE_DIR}/dcmjpeg/include ${DCMTK_SOURCE_DIR}/dcmjpls/include ${DCMTK_SOURCE_DIR}/dcmnet/include ${DCMTK_SOURCE_DIR}/dcmpstat/include ${DCMTK_SOURCE_DIR}/dcmqrdb/include ${DCMTK_SOURCE_DIR}/dcmsign/include ${DCMTK_SOURCE_DIR}/dcmsr/include ${DCMTK_SOURCE_DIR}/dcmtls/include ${DCMTK_SOURCE_DIR}/dcmwlm/include ) INCLUDE_DIRECTORIES(${DCMTK_INCLUDE_DIR}) #----------------------------------------------------------------------------- # Installation sub-directories #----------------------------------------------------------------------------- SET(INSTALL_BINDIR "/bin") SET(INSTALL_INCDIR "/include") SET(INSTALL_LIBDIR "/lib") SET(INSTALL_ETCDIR "/etc/dcmtk") SET(INSTALL_DATDIR "/share/dcmtk") SET(INSTALL_DOCDIR "/share/doc/dcmtk") SET(INSTALL_HTMDIR "/share/doc/dcmtk/html") SET(INSTALL_MANDIR "/share/man") #----------------------------------------------------------------------------- # Platform-independent settings #----------------------------------------------------------------------------- IF(COMMAND CMAKE_POLICY) # Enable new CMake behaviour when dealing with libraries whose full path is # given to the linker. This is necessary to avoid warnings in CMake versions # greater than 2.6. # See http://www.cmake.org/cmake/help/cmake-2.6.html#policy:CMP0003 CMAKE_POLICY(SET CMP0003 NEW) # Works around warnings about escaped quotes in ADD_DEFINITIONS statements CMAKE_POLICY(SET CMP0005 OLD) ENDIF(COMMAND CMAKE_POLICY) # pass optional build date to compiler #ADD_DEFINITIONS("-DDCMTK_BUILD_DATE=\\\"YYYY-MM-DD\\\"") # make OFString(NULL) safe by default ADD_DEFINITIONS("-DUSE_NULL_SAFE_OFSTRING") #----------------------------------------------------------------------------- # Platform-specific settings #----------------------------------------------------------------------------- # set project wide flags for compiler and linker IF(WIN32) OPTION(DCMTK_OVERWRITE_WIN32_COMPILER_FLAGS "Overwrite compiler flags with DCMTK's WIN32 package default values." ON) ENDIF(WIN32) IF(DCMTK_OVERWRITE_WIN32_COMPILER_FLAGS) # settings for Microsoft Visual C IF(CMAKE_C_COMPILER MATCHES "CL|cl") IF(NOT WITH_SHARED_LIBS) IF(CMAKE_GENERATOR STREQUAL "Visual Studio 6") SET(CMAKE_C_FLAGS "/nologo /W3 /GX /Gy /YX") SET(CMAKE_C_FLAGS_DEBUG "/MTd /Z7 /Od") SET(CMAKE_C_FLAGS_RELEASE "/MT /O2") SET(CMAKE_C_FLAGS_MINSIZEREL "/MT /O2") SET(CMAKE_C_FLAGS_RELWITHDEBINFO "/MTd /Z7 /Od") ENDIF(CMAKE_GENERATOR STREQUAL "Visual Studio 6") IF(CMAKE_GENERATOR STREQUAL "Visual Studio 7" OR CMAKE_GENERATOR STREQUAL "Visual Studio 7 .NET 2003") SET(CMAKE_C_FLAGS "/nologo /W3 /Gy") SET(CMAKE_C_FLAGS_DEBUG "/MTd /Z7 /Od") SET(CMAKE_C_FLAGS_RELEASE "/MT /O2") SET(CMAKE_C_FLAGS_MINSIZEREL "/MT /O2") SET(CMAKE_C_FLAGS_RELWITHDEBINFO "/MTd /Z7 /Od") ENDIF(CMAKE_GENERATOR STREQUAL "Visual Studio 7" OR CMAKE_GENERATOR STREQUAL "Visual Studio 7 .NET 2003") IF(CMAKE_GENERATOR STREQUAL "Visual Studio 8 2005" OR CMAKE_GENERATOR STREQUAL "Visual Studio 9 2008" OR CMAKE_GENERATOR STREQUAL "Visual Studio 10") SET(CMAKE_C_FLAGS "/nologo /W3 /Gy /EHsc") SET(CMAKE_C_FLAGS_DEBUG "/MTd /Z7 /Od") SET(CMAKE_C_FLAGS_RELEASE "/MT /O2") SET(CMAKE_C_FLAGS_MINSIZEREL "/MT /O2") SET(CMAKE_C_FLAGS_RELWITHDEBINFO "/MTd /Z7 /Od") ENDIF(CMAKE_GENERATOR STREQUAL "Visual Studio 8 2005" OR CMAKE_GENERATOR STREQUAL "Visual Studio 9 2008" OR CMAKE_GENERATOR STREQUAL "Visual Studio 10") ENDIF(NOT WITH_SHARED_LIBS) ENDIF(CMAKE_C_COMPILER MATCHES "CL|cl") # settings for Microsoft Visual C++ IF(CMAKE_CXX_COMPILER MATCHES "CL|cl") IF(NOT WITH_SHARED_LIBS) IF(CMAKE_GENERATOR STREQUAL "Visual Studio 6") SET(CMAKE_CXX_FLAGS "/nologo /W3 /GX /Gy /YX /Zm500") # /Zm500 increments heap size which is needed on some system to compile templates in dcmimgle SET(CMAKE_CXX_FLAGS_DEBUG "/MTd /Z7 /Od") SET(CMAKE_CXX_FLAGS_RELEASE "/MT /O2") SET(CMAKE_CXX_FLAGS_MINSIZEREL "/MT /O2") SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "/MTd /Z7 /Od") ENDIF(CMAKE_GENERATOR STREQUAL "Visual Studio 6") IF(CMAKE_GENERATOR STREQUAL "Visual Studio 7" OR CMAKE_GENERATOR STREQUAL "Visual Studio 7 .NET 2003") SET(CMAKE_CXX_FLAGS "/nologo /W3 /Gy") SET(CMAKE_CXX_FLAGS_DEBUG "/MTd /Z7 /Od") SET(CMAKE_CXX_FLAGS_RELEASE "/MT /O2") SET(CMAKE_CXX_FLAGS_MINSIZEREL "/MT /O2") SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "/MTd /Z7 /Od") ENDIF(CMAKE_GENERATOR STREQUAL "Visual Studio 7" OR CMAKE_GENERATOR STREQUAL "Visual Studio 7 .NET 2003") IF(CMAKE_GENERATOR STREQUAL "Visual Studio 8 2005" OR CMAKE_GENERATOR STREQUAL "Visual Studio 9 2008" OR CMAKE_GENERATOR STREQUAL "Visual Studio 10") SET(CMAKE_CXX_FLAGS "/nologo /W3 /Gy /EHsc") SET(CMAKE_CXX_FLAGS_DEBUG "/MTd /Z7 /Od") SET(CMAKE_CXX_FLAGS_RELEASE "/MT /O2") SET(CMAKE_CXX_FLAGS_MINSIZEREL "/MT /O2") SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "/MTd /Z7 /Od") ENDIF(CMAKE_GENERATOR STREQUAL "Visual Studio 8 2005" OR CMAKE_GENERATOR STREQUAL "Visual Studio 9 2008" OR CMAKE_GENERATOR STREQUAL "Visual Studio 10") ENDIF(NOT WITH_SHARED_LIBS) ENDIF(CMAKE_CXX_COMPILER MATCHES "CL|cl") # settings for Borland C++ IF(CMAKE_CXX_COMPILER MATCHES "BCC32|bcc32") # further settings required? SET(CMAKE_STANDARD_LIBRARIES "import32.lib cw32mt.lib") ENDIF(CMAKE_CXX_COMPILER MATCHES "BCC32|bcc32") ENDIF(DCMTK_OVERWRITE_WIN32_COMPILER_FLAGS) IF(WIN32) # special handling for Windows systems IF(MINGW) # Avoid auto-importing warnings on MinGW SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--enable-auto-import") ELSE(MINGW) # On Visual Studio 8 MS deprecated C. This removes all 1.276E1265 security warnings. IF(NOT BORLAND) IF(NOT CYGWIN) IF(NOT DCMTK_ENABLE_VISUAL_STUDIO_DEPRECATED_C_WARNINGS) ADD_DEFINITIONS( -D_CRT_FAR_MAPPINGS_NO_DEPRECATE -D_CRT_IS_WCTYPE_NO_DEPRECATE -D_CRT_MANAGED_FP_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_DEPRECATE_GLOBALS -D_CRT_SETERRORMODE_BEEP_SLEEP_NO_DEPRECATE -D_CRT_TIME_FUNCTIONS_NO_DEPRECATE -D_CRT_VCCLRIT_NO_DEPRECATE -D_SCL_SECURE_NO_DEPRECATE ) ENDIF(NOT DCMTK_ENABLE_VISUAL_STUDIO_DEPRECATED_C_WARNINGS) ENDIF(NOT CYGWIN) ENDIF(NOT BORLAND) ENDIF(MINGW) ELSE(WIN32) # ... for non-Windows systems # Compiler flags for Mac OS X IF(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_XOPEN_SOURCE_EXTENDED -D_BSD_SOURCE -D_BSD_COMPAT -D_OSF_SOURCE -D_DARWIN_C_SOURCE") SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_XOPEN_SOURCE_EXTENDED -D_BSD_SOURCE -D_BSD_COMPAT -D_OSF_SOURCE -D_DARWIN_C_SOURCE") ELSE(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") # FreeBSD fails with these flags IF(NOT ${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD") # Compiler flags for all other non-Windows systems SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_XOPEN_SOURCE_EXTENDED -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -D_BSD_COMPAT -D_OSF_SOURCE -D_POSIX_C_SOURCE=199506L") SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_XOPEN_SOURCE_EXTENDED -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -D_BSD_COMPAT -D_OSF_SOURCE -D_POSIX_C_SOURCE=199506L") ENDIF(NOT ${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD") ENDIF(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") ENDIF(WIN32) # define libraries that must be linked to most Windows applications IF(WIN32) SET(WIN32_STD_LIBRARIES ws2_32 netapi32 wsock32) # settings for Borland C++ IF(CMAKE_CXX_COMPILER MATCHES bcc32) # to be checked: further settings required? SET(CMAKE_STANDARD_LIBRARIES "import32.lib cw32mt.lib") ENDIF(CMAKE_CXX_COMPILER MATCHES bcc32) ENDIF(WIN32) # add definition of "DEBUG" to debug mode (since CMake does not do this automatically) SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DDEBUG") SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DDEBUG") #----------------------------------------------------------------------------- # Third party libraries #----------------------------------------------------------------------------- INCLUDE(CMake/3rdparty.cmake) #----------------------------------------------------------------------------- # Prepare osconfig.h #----------------------------------------------------------------------------- # add the osconfig.h.in file INCLUDE(${DCMTK_SOURCE_DIR}/CMake/GenerateDCMTKConfigure.cmake) CONFIGURE_FILE(${DCMTK_SOURCE_DIR}/CMake/osconfig.h.in ${DCMTK_BINARY_DIR}/include/dcmtk/config/osconfig.h) #----------------------------------------------------------------------------- # Dart configuration (disabled per default) #----------------------------------------------------------------------------- # Includes build targets Experimental, Nightly and Continous which are the standard # groups pre-configured in Dashboard. In CTest these groups are called "Tracks". # # INCLUDE(${CMAKE_ROOT}/Modules/Dart.cmake) # IF(BUILD_TESTING) # ENABLE_TESTING() # ENDIF(BUILD_TESTING) #----------------------------------------------------------------------------- # Thread support #----------------------------------------------------------------------------- # See dcmtk/config/configure.in IF(WITH_THREADS) ADD_DEFINITIONS(-D_REENTRANT) IF(HAVE_PTHREAD_RWLOCK) IF(APPLE) ADD_DEFINITIONS(-D_XOPEN_SOURCE_EXTENDED -D_BSD_SOURCE -D_BSD_COMPAT -D_OSF_SOURCE) ENDIF(APPLE) IF("${CMAKE_SYSTEM_NAME}" MATCHES "^IRIX") ADD_DEFINITIONS(-D_XOPEN_SOURCE_EXTENDED -D_BSD_SOURCE -D_BSD_COMPAT) ENDIF("${CMAKE_SYSTEM_NAME}" MATCHES "^IRIX") ENDIF(HAVE_PTHREAD_RWLOCK) IF(HAVE_PTHREAD_H) CHECK_LIBRARY_EXISTS(pthread pthread_key_create "" HAVE_LIBPTHREAD) IF(HAVE_LIBPTHREAD) SET(THREAD_LIBS pthread) ENDIF(HAVE_LIBPTHREAD) CHECK_LIBRARY_EXISTS(rt sem_init "" HAVE_LIBRT) IF(HAVE_LIBRT) SET(THREAD_LIBS ${THREAD_LIBS} rt) ENDIF(HAVE_LIBRT) ENDIF(HAVE_PTHREAD_H) ENDIF(WITH_THREADS) #----------------------------------------------------------------------------- # Start actual compilation tasks #----------------------------------------------------------------------------- # Recurse into subdirectories FOREACH(module ${DCMTK_MODULES}) ADD_SUBDIRECTORY(${module}) ENDFOREACH(module) #----------------------------------------------------------------------------- # Installation tasks #----------------------------------------------------------------------------- # Install global headers INSTALL_FILES(${INSTALL_INCDIR}/dcmtk/config FILES ${CMAKE_CURRENT_BINARY_DIR}/include/dcmtk/config/osconfig.h) # Install DCMTK's general documentation files INSTALL_FILES(${INSTALL_DOCDIR} FILES ANNOUNCE.${DCMTK_PACKAGE_VERSION_NUMBER} CHANGES.${DCMTK_PACKAGE_VERSION_NUMBER} COPYRIGHT FAQ HISTORY VERSION)
发表评论
-
医学影像期刊总结
2012-06-08 10:41 32381、《中国医学影像学杂志》 是由中华人民共和国卫生部主管、中 ... -
DCMTK3.6.0(MD支持库)安装说明-无图版
2012-06-08 10:07 4886不知道为啥ItEye只能显示日志文字的部分内容,本篇日志完整版 ... -
DCMTK的Lib 引用顺序
2012-06-07 14:24 3329我们知道,在引用lib的时候,只需要配置项目属性 ... -
官方DCMTK的安装步骤
2012-06-07 13:22 8572官方安装DCMTK3.6.0的步骤: 详细中文安装步 ... -
DCMTK3.6.0 安装失败的说明
2012-06-07 10:59 4339前两天,参考这个例子DCMTK3.6.0 (MT支持库)安装 ... -
DCMTK3.6.0(MD支持库)安装说明
2012-06-07 11:20 26583前言: 虽然写了这么 ... -
DCMTK3.6.0 (MT支持库)安装 完整说明
2012-06-06 11:21 97196月7日 13:58 更新 MD项目的,请参考这篇 《DCMT ... -
DCMTK 安装错误总结
2012-06-05 17:18 0Compilation of DCMTK-based p ... -
dcmtk 3.6.0 error C1083: Cannot open include file: 'iostream.h' 解决办法
2012-06-05 10:36 33352011年1月6日发布的dcmtk 3.6.0版本在编 ... -
defaultlib "library" conflicts with use of other libs; use /NODEFAULTLIB:library
2012-06-04 20:31 8766我在Qt的Gui项目中,加入DCMTK编译后的MD/MDd运行 ... -
warning LNK4098: defaultlib "MSVCRT" conflicts with use of other libs; use /NODE
2012-06-04 19:15 4897刚编译了DCMTK,运行一个小例子,出现如此错误: ... -
VC 运行时库 /MD、/MDd 和 /MT、/MTd
2012-06-04 14:03 27741这里总结下他们的区别,后面的那个'd'是代表DEBUG版本,没 ... -
两款免费DCIOM 图像浏览软件介绍和DICOM图像例子供下载
2012-05-22 14:53 37682最近要开发医学图像处理软件,所以先搜了一些可以读取DCM ...
相关推荐
DCMTK 3.5.4是这个库的一个特定版本,它包含了对DICOM协议的支持和实现,适用于开发与医学影像相关的应用程序。 在这个压缩包中,"lib"目录下的文件主要是预编译好的静态库和动态库文件,这些库文件是DCMTK的核心...
描述了dcmtk中关键的函数描述,使用举例以及参数描述
DCMTK 3.5.4 是一个广泛使用的开源软件包,主要用于医学图像通信标准(DICOM)的应用程序开发。这个版本的DCMTK提供了全面的功能,包括 DICOM 网络通信、数据解析和创建,以及 DICOM 文件管理。在医疗图像处理和分析...
PACS开发必备,DICOM开源开发包 dcmtk-3.5.4 dcmtk-3.5.4-win32-help dcmtk-3.5.4-win32-i386 由于上传限制这是第一部门,另一部分为 dcmtk-3.5.4开发包(win32支持文件)
本压缩包“dicom.rar”包含了DCMTK的版本3.6.0,这是一个广泛使用的版本,适用于医疗软件开发。 DCMTK 3.6.0的知识点主要包括以下几个方面: 1. **DICOM标准**:DICOM标准定义了医学图像的格式、编码和通信协议,...
DCMTK 3.5.4版本的include库包含了该框架的核心头文件,允许开发者在自己的应用程序中集成DICOM功能。 DICOM标准不仅定义了数据格式,还规定了设备间的通信协议,涵盖了医学图像的存储、传输、打印、媒体交换等多个...
dcmtk-3.5.4开发包在win32下的补充资源文件包含: dcmtk-3.5.4-win32-i386-md-support dcmtk-3.5.4-win32-i386-support dcmtk-3.5.4-win32-i386-tls 与dcmtk-3.5.4开发包一起使用
DCMTK由德国Fraunhofer IIS研究所开发,版本号为3.5.4,这个版本的原始tar.gz文件名为“dcmtk_3.5.4.orig.tar.gz”。 DCMTK包含了多个组件,每个组件都有其特定的功能,如: 1. **dcmdata**:这是DCMTK的基础模块...
在描述中提到的"dcmtk-3.6.0版本编译出的动态库文件,包含Debug和Release版本",意味着你将获得一套完整的DCMTK库,无论是在开发阶段还是最终发布的产品中,都能找到对应版本的库文件进行链接。 压缩包内的文件名称...
"dcmtk-3.5.4-win32-i386-md-support.zip" 是一个专为Windows 32位平台(i386架构)编译并集成了MD支持的版本。MD支持可能指的是Medical Device(医疗器械)相关的功能或接口,使得该版本更适合在医疗设备环境中使用...
7. 文档与示例:DCMTK 3.6.0版本附带了详尽的文档,包括用户手册、开发者指南和API参考,帮助开发者快速理解和使用这个工具包。同时,它还包含了一些示例代码和脚本,展示了如何使用DCMTK的基本功能。 8. 平台兼容...
综合这些信息,我们可以理解DCMTK 3.5.4版本是为Windows 32位环境设计的,依赖于多线程DLL版的C++运行时库,并且与其他重要的图像处理库如libpng、zlib和tiff一起工作,以便于处理和交换不同格式的医学图像数据。...
**二、DCMTK-3.6.0的更新与改进** CHANGES.360和HISTORY文件详细记录了版本3.6.0的更新内容和历史变更。通常,新版本会修复已知问题,增加新功能,优化性能,以及增强对DICOM标准的遵循。例如,可能包含对新发布的...
将DCMTK与Qt结合,可以利用Qt的图形界面和事件处理能力,同时利用DCMTK的强大 DICOM 功能。 3. **编译环境** 在Windows 32位系统上,你需要安装Qt 5.10版本,确保它是32位的,因为你要编译的是32位的DCMTK库。同时...
包括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-3.6.0-win32-i386-support_MD”版本是针对Windows 32位平台的DCMTK支持库,包含了MD(Medical Device)相关的支持。 DICOM是医疗领域广泛采用的数据交换、存储和通信的标准,它定义了如何在不同设备...
DCMTK 3.5.4 是该工具包的一个版本,包含了丰富的API和实用程序,帮助开发者实现与DICOM设备和服务的交互。 "dcmtk-3.5.4-html-help.zip"这个压缩包文件很可能包含了关于DCMTK 3.5.4版本的HTML帮助文档。这些文档...
Dcmtk3.6.0, 如果从头开始理解DICOM的协议,然后完全自己编写这些代码来实现这些协议,是一件工程浩大的事情。德国offis公司开发的DCMTK,为我们提供了实现DICOM协议的一个平台,使得我们可以在它的基础上轻松的完成...
这个3.6.0版本的官方帮助文档是开发者和使用者理解DCMTK的重要资源,提供了详尽的函数、类和方法的说明。 DCMTK的核心功能包括: 1. **DICOM网络协议实现**:DCMTK提供了实现DICOM网络协议的工具,如dcmnet库,允许...