본문 바로가기

프로그래밍/C & C++

GDCM 설치와 Visual Studio 2017에서 사용하기

Visual Studio에서 DICOM 파일과 관련된 프로젝트를 진행하려고 하는데, GDCM Documentation이 너무나 부족했다...
GDCM 설치과정에서 일어날 수 있는 삽질을 최대한 줄여보고자 글을 작성한다.
본 글은 GDCM 3.0.0을 Visual Studio 2017 프로젝트에서 사용하고자 설치하는 글이다.
 
GDCM은 Grassroot DICOM의 약자로 의료영상에 주로 쓰이는 DICOM 파일을 다루기 위한 라이브러리이다.
 
GDCM library를 다운로드한다.
 
 
다운받은 gdcm-3.0.0.tar.gz 파일을 GDCM 라이브러리를 저장하고자 하는 곳에 압축을 푼다.
아래와 같이 폴더를 구성하면 편리할 듯 싶다.
[gdcm] 폴더 내에 [gdcm-3.0.0] 폴더는 압축을 푼 파일들을 모아둔 폴더이고, vs_build는 gdcm-3.0.0을 source로 Visual Studio 환경에서의 빌드를 위한 폴더이다.
 
 
폴더 구성을 완료하였다면, CMake를 실행한다.
CMake에 아래와 같이 source code의 위치와 binary file의 위치를 지정해주자.
Where is the source code는 다운받은 gdcm의 경로가 된다.
Where to build the binaries는 build file을 저장할 경로가 된다.
경로 설정 후 Configure 버튼을 눌러 generator를 위한 설정을 하자.
 
 
Configure를 클릭하면 아래와 같은 창이 뜬다.
VS 2017을 선택하고, 아래의 platform은 x86 혹은 x64 (자신의 컴퓨터 환경에 따라)로 설정한다.
Finish를 누르면 Configuration이 진행된다.
 
 
Configuration이 다 되었다면, 빨간색으로 표시된 변수들이 나타난다.
GDCM_BUILD_APPLICATIONS
GDCM_BUILD_EXAMPLES - gdcm을 이용한 예제를 컴파일 한다.
GDCM_BULID_SHARED_LIBS
GDCM_DOCUMENTATION - gdcm 관련 도큐먼트, Doxygen이 필요하다.(Document가 필요하다면 체크)
정도의 옵션을 체크하고, Generate 버튼을 누른다.
 
 
 
Generate 버튼을 누르면 Where to build the binaries에 설정한 폴더에 Visual Studio Project가 생성된다.
Open Project를 눌러 GDCM.sln을 실행하자.
 
 
Debug모드를 확인하고, 솔루션 탐색기에서 ALL_BUILD를 오른쪽 마우스로 클릭하여 [빌드]를 선택한다.
성공적으로 빌드가 되었다면, Release모드로 변환하고, 마찬가지로 ALL_BUILD를 [빌드]한다.
 
빌드가 성공적으로 진행되었다면, 아래와 같이 vs_build/bin 폴더내에서 생성된 dll, lib 파일을 확인할 수 있을 것이다.
 
 
빌드가 잘 되었다면, GDCM을 다른 프로젝트에서 로드하여 사용해보자.
Visual Studio를 열고 빈 프로젝트를 생성하자.
프로젝트를 생성하였다면, [프로젝트]-[속성]을 클릭하자.
 
다운받은 GDCM을 사용하기 위해 컴파일러의 라이브러리 연결과, 링킹을 위한 작업을 한다.
우선 C/C++일반 탭을 클릭하자.
추가 포함 디렉터리를 클릭해 경로를 추가한다.
 
 
아래와 같은 경로를 추가 포함 디렉터리에 추가한다.
다운받은 gdcm 폴더와 vs_build 폴더 내의 .h와 .cxx 파일이 포함되도록 한다.
이 작업이 끝나면, vs 컴파일러에서 컴파일 작업을 수행할 수 있다.
 
 
위의 작업으로 컴파일은 가능하지만, 빌드는 제대로 되지 않을 것이다.
프로젝트 빌드를 위해 링커 설정을 해주자.
링커탭의 일반탭을 클릭하여 추가 라이브러리 디렉터리에 경로를 추가하자. 
Debug 구성에서는 생성한 bin 폴더의 Debug 폴더를, Release 구성에서는 생성한 Release 폴더를 추가하자.
 
 

이후 링커탭의 입력탭을 클릭하고, 추가 종속성에 아래의 lib를 추가한다.

종속성이 제대로 설정되지 않은 경우 LNK2019, LNK1120 에러가 발생할 수 있다.

마찬가지로 Debug모드와 Release모드 모두에 적용해주자.

  • gdcmcharls.lib
  • gdcmCommon.lib
  • gdcmDICT.lib
  • gdcmDSED.lib
  • gdcmexpat.lib
  • gdcmgetopt.lib
  • gdcmIOD.lib
  • gdcmjpeg8.lib
  • gdcmjpeg12.lib
  • gdcmjpeg16.lib
  • gdcmMEXD.lib
  • gdcmMSFF.lib
  • gdcmopenjp2.lib
  • gdcmzlib.lib
 
 
여기까지 설정해주었다면, VS 링커가 빌드시에 필요한 dll, lib를 잘 링크하여 프로젝트 빌드를 수행할 것이다.
이후는 GDCM Document 혹은 GDCM 예제 등을 통해 DICOM 파일을 다루면 된다.
반응형

'프로그래밍 > C & C++' 카테고리의 다른 글

[C] 4. 표현식(Expression)  (0) 2017.02.03
[C] 3. 표준 입출력과 주석  (0) 2017.01.01
[C] cf. 형식문자(Format Character)  (0) 2016.12.28
[C] cf. ASCII CODE  (0) 2016.12.28
[C] 2. C 언어의 자료형  (0) 2016.12.25