2014-09-18 3 views
0

이것은 C++ 프로그램 내에서 SimpleITK를 사용하는 모든 사용자를위한 질문입니다.Visual Studio 2008에서 SimpleITK 링킹

SimpleITK 코드를 다운로드하고 SimpleakeK 지침 (Superbuild)에 따라 CMake를 사용하여 VS2008 .sln 파일을 생성했습니다.

SimpleITK-build\lib\Debug에는 몇 가지 SimpleITK 라이브러리 (예 : SimpleITKCommon-0.8.lib)가 있습니다. SimpleITK-build\ITK-build\lib\Debug에서 나는 수 많은 ITK libs와 예 : 코드에서 ITKCommon-4.5.lib

, 내가 사용 : #include "SimpleITK.h"

질문을 : 어떻게 링크합니까?

linker/input/additional dependencies에 모든 SimpleITK 라이브러리를 하나씩 추가 할 수 있습니다. 그렇다면을 얻습니다. ITK 라이브러리에 연결하지 않았으므로 (50 개가 있습니다). 나는 추가 의존성 50-60 libs에 추가 할 필요가 있다고 믿을 수 없다.

무엇이 여기에 있습니까? SimpleITK fom C++ 로의 링크에 관한 문서를 찾을 수 없습니다.

감사와 환호

아리

답변

3

그것은 CMake를 사용하는 것이 좋습니다 것입니다. 수동으로 작업하려면 모든 라이브러리를 추가해야합니다.

find_package(SimpleITK REQUIRED) 
include(${SimpleITK_USE_FILE}) 

# Add compiler flags needed to use SimpleITK. 
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${SimpleITK_REQUIRED_C_FLAGS}") 
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${SimpleITK_REQUIRED_CXX_FLAGS}") 
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${SimpleITK_REQUIRED_LINK_FLAGS}") 
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${SimpleITK_REQUIRED_LINK_FLAGS}") 
set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} ${SimpleITK_REQUIRED_LINK_FLAGS}") 

add_executable (SimpleGaussian SimpleGaussian.cxx) 
target_link_libraries (SimpleGaussian ${SimpleITK_LIBRARIES}) 
+0

blowekamp : 당신의 응답을 주셔서 감사합니다 여기에 SimpleITK/예/CMakeLists.txt 파일에서

은 CMake를 사용하여 프로젝트를 만드는 방법입니다. 기존 프로그램이 이미 작성된 경우는 어떨까요? 그리고 SimpleITK를 추가하고 있습니다. libs를 수동으로 프로젝트 설정에 추가합니까? – BeMeCollective

+0

나는 같은 질문을했습니다. blowekamp에 대해 의견을 개진 할 수 있습니까? – BmyGuest

+0

예, ITK 및 SimpleITK의 모든 라이브러리를 수동으로 추가해야합니다. 귀하의 프로젝트에 CMake를 사용하는 것을 권장합니다. 예제 cmake 빌드를 사용하고 라이브러리를 복사하고 해당 프로젝트의 경로를 자신의 것으로 포함 할 수 있습니다. – blowekamp

관련 문제