VS2010+DCMTK3.6.0 : MT支持庫 安裝說明

關於DCMTK3.6.0在VS2010環境下的安裝,我是按照下面的介紹安裝成功。

一、基於DCMTK的DICOM相關程序編寫攻略:

         http://blog.csdn.net/jackmacro/article/details/5332654

二、DCMTK3.6.0 (MT支持庫)安裝 完整說明 

         http://blog.163.com/qimo601@126/blog/static/158220932012113771496/


從上面博客中學到的知識是:

(一)、庫和支持庫的下載地址

       前言:

       由於現在的醫學影像設備的圖像存儲和傳輸正在逐漸向DICOM標準靠攏,在我們進行醫學圖像處理的過程中,經常需要自己編寫和DICOM格式的圖像相關的各種程序模塊,以完成自己處理功能。如果從頭開始理解DICOM的協議,然後完全自己編寫這些代碼來實現這些協議,是一件工程浩大的事情。德國offis公司開發的DCMTK,爲我們提供了實現DICOM協議的一個平臺,使得我們可以在它的基礎上輕鬆的完成自己的主要工作,而不必把太多的精力放在實現DICOM協議的細節問題上。本文以WINDOWSXP+VC6.0爲開發平臺,從DCMTK的下載、調試、使用等方面介紹基於DCMTK的DICOM相關程序編寫過程。

       1、 DCMTK簡介

       DCMTK是由德國offis公司提供的開源項目,並擁有相應的版權。這個開發包經過10多年的開發和維護,已經基本實現了DICOM協議的所有內容。該開發包提供所有的源代碼、支持庫和幫助文檔。DCMTK提供了在各種操作系統下使用的可能版本,如LINUX、SUN、WINDOWS等,用戶可更具自己的開發平臺進行編譯。目前DCMTK的版本是3.5.3。

       2、DCMTK的下載

       DCMTK公司的主頁是: http://dicom.offis.de

      1、首先下載DTMTK源代碼。可以通過以下地址:ftp://dicom.offis.de/pub/dicom/offis/software/dcmtk/dcmtk353/dcmtk-3.5.3.zip

      2、下載相關的支持庫:ftp://dicom.offis.de/pub/dicom/offis/software/dcmtk/dcmtk353/support/dcmtk-3.5.3-win32-i386-support.zip

(二)、安裝過程

       By 郭俞伯

       環境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下會有安裝路徑,自選,不要選擇帶有中文的目錄。(我要用的東西不多,所以我只選擇了debug版本的編譯)

        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。


發佈了23 篇原創文章 · 獲贊 17 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章