<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      [Cocoa,醫療]在iOS平臺上編譯DCMTK

      在iOS平臺上編譯 DCMTK

      羅朝輝 (http://www.rzrgm.cn/kesalin/)

      本文遵循“署名-非商業用途-保持一致”創作公用協議

      DCMTK是德國 Offis  公司開發的實現 DICOM 協議的跨平臺開源 C++庫,在醫學領域里是很有名的,它支持Windows ,Linux,Mac OS,SUN等平臺。不過貌似在 iOS 平臺上編譯 DCMTK 的文檔很少很少,折騰了好久終于編譯成功了,記錄下來。

      我的編譯環境:
      Mac OS 10.6
      XCode 4.0.2
      iOS SDK 4.3

      后記:iOS 5 無論是 simulator 還是 device 編譯也都可以順利通過。

       

      1,首先下載最新的 DCMTK:http://www.dcmtk.org/,目前的版本為:dcmtk-3.6.0;

       

      2,下載最新的 CMake:http://www.cmake.org/,安裝;

       

      3,解壓 dcmtk 至 dcmtk-3.6.0,并新建目錄 dcmtk-xcode;

       

      4,運行 CMake,按照如下圖所示步驟執行:

      4.1,設置 dcmtk 源文件目錄以及編譯目錄

      4.2,點擊 Configure,在彈出的對話框中選中 XCode:

      4.3,如果 configure 運行顯示 error, Don't worry!

      4.4,配置 CMake 選項:

      DOXYGEN : OFF 
      OPENSSL : OFF (optional : you need to have openssl libs for IOS) 
      PNG:  OFF (optional) 
      PRIVATE_TAGS : ON (optional) 
      THREADS : OFF (optional) 
      TIFF : OFF (optional) 
      XML : OFF (optional) 
      ZLIB : ON (optional) 

      4.5,再次點擊 configure,運行,這次應該沒有錯誤了;

      4.6,然后點擊 generate,就會在 dcmtk-xcode 下生成名為 DCMTK.xcodeproj 的 xcode 工程。

       

      5,打開 DCMTK.xcodeproj 工程,點擊工程名,查看 Build Setting,設置 Base SDK 為 Latest Mac OS(Mac OS 10.X),編譯 target 為 ALL_BUILD;

       

      6,然后編譯運行,編譯時間很長,你可以去這里:http://code.google.com/p/ios-static-libraries/,下載編譯好的其他 lib for iOS,如 zlib,openssl 等。

       

      7,編譯應該沒有錯誤,如果報出找不到 libc.h,可以直接 comment 這一行,build again!

       

      8,編譯成功之后,點擊工程名,查看 Build Setting,設置 Base SDK 為 Latest iOS(iOS x),設置 Architectures 為 Standard,設置 Build Active Architecture only 為 Yes;

       

      9,修改 TARGETS 列表下 ALL_BUILD 的 Target Dependencies,將其下所有非 lib 的dependencies 刪除:

       

      10,再次編譯 ALL_BUILD,如果沒有錯誤報出,恭喜 Dcmtk 已經編譯成功!

       

      11,新建 dcmtk 目錄,將相關的 include 和 .a lib 文件拷貝到對應的目錄下,最終目錄結構如下:

      Copy dcmtk-3.6.0/XXX/include to dcmtk/include/dcmtk/XXX(except for config)
      Copy dcmtk-xcode/include/dcmtk/config to dcmtk/include/dcmtk/config
      Copy zlib.h to dcmtk/include/zlib.h
      Copy dcmtk-xcode/XXX/libsrc/Debug-iphonePLATFORM/libXXX.a to dcmtk/lib-iphonePLATFORM/libXXX.a
      Copy libz.a to dcmtk/lib-iphonePLATFORM/libz.a

      include:

      libs:

       

      12,新建一個 iOS 應用程序工程,將上面的文件夾拷貝到工程目錄下,設置工程的 Build Setting/Header Search Paths 為 PathToYourDcmtk/dcmtk/include,然后在工程 Target 的 Build Phases/Link Binary With Libraries 追加 libPlatform/*.a文件。

       

      13,在某個.mm文件(ObjC與C++混編,可修改已有文件的后綴)中,導入頭文件,編寫代碼測試:

      #include <dcmtk/config/osconfig.h>
      #include <dcmtk/dcmdata/dcfilefo.h>
      #include <dcmtk/dcmdata/dcdeftag.h>

      NSString *dcmFilename = @"/Users/luozhaohui/2.dcm";
      DcmFileFormat fileFormat;
      OFCondition loadStatus = fileFormat.loadFile([dcmFilename UTF8String]);
      if (loadStatus.good())
      {
      OFString patientName;
      OFCondition findStutas = fileFormat.getDataset()->findAndGetOFString(DCM_PatientName, patientName);
      if (findStutas.good())
      {
      NSString *name = [NSString stringWithUTF8String:patientName.c_str()];
      NSLog(@" >> %@ patient name is [%@]", dcmFilename, name);
      }
      }
      else
      {
      NSLog(@" >> Failded to load %@!", dcmFilename);
      }


      14, 如果要在設備上運行,需要將 dcmtk 重新編譯一次 ios device 版本,然后鏈接新的 dcmtk 設備版庫。然后再編譯 app,這時如果出現  “Undefined symbols for architecture armv7:   "_inflateEnd"” 類似的錯誤,可以在 build setting 中設置 Other Linker Flags 為 /usr/lib/libz.dylib 即可。

      posted @ 2011-11-10 12:41  飄飄白云  閱讀(1280)  評論(0)    收藏  舉報
      本博客遵循 Creative Commons License “署名-非商業用途-保持一致”創作共用協議。 與我聯系
      主站蜘蛛池模板: 亚欧洲乱码视频一二三区| 精品久久久久中文字幕日本| 国产一区二区不卡在线| Y111111国产精品久久久| 性欧美牲交在线视频| 榆树市| 日韩av一区二区三区在线| 国产精品日日摸夜夜添夜夜添2021 | 国产精品爽黄69天堂A| 国产AV福利第一精品| 一区二区三区在线色视频| 啊轻点灬大JI巴太粗太长了在线| 欧洲码亚洲码的区别入口| 欧美激欧美啪啪片| 国产一区二区三区我不卡| 视频一区视频二区在线视频| 中文毛片无遮挡高潮免费| 精品久久一线二线三线区| 四虎永久精品免费视频| 亚洲成aⅴ人在线电影| 亚洲第一人伊伊人色综合| 人人做人人爽人人爱| 中文字幕av一区| 公天天吃我奶躁我的在线观看| 日产一区日产2区| 久久精产国品一二三产品| 少妇人妻偷人免费观看| 国产精品尤物午夜福利| 久久婷婷综合色丁香五月| 被黑人伦流澡到高潮HNP动漫| 国产一区二区日韩在线| 亚洲综合精品一区二区三区 | 日本阿v片在线播放免费| 中文字幕乱码十国产乱码| 风韵丰满熟妇啪啪区老老熟妇| 国产女人18毛片水真多1| 亚洲综合一区二区三区视频| 精品久久久久久无码免费 | 色老99久久精品偷偷鲁| 亚洲av二区伊人久久| 国产成人精品亚洲午夜|