从Visual Studio 2008链接的SimpleITK

时间:2014-09-18 22:55:40

标签: c++ cmake imaging itk simpleitk

对于在C ++程序中使用SimpleITK的人来说,这是一个问题。

我已经下载了SimpleITK代码,并根据SimpleITK指令(Superbuild)使用CMake生成了VS2008 .sln文件。

SimpleITK-build\lib\Debug我得到一些SimpleITK库,例如:SimpleITKCommon-0.8.lib。 在SimpleITK-build\ITK-build\lib\Debug中我获得了许多ITK库,例如:ITKCommon-4.5.lib

在代码中,我使用:#include "SimpleITK.h"

问题:我链接到哪里?

我可以逐个添加linker/input/additional dependencies所有SimpleITK库。然后我得到unresolved external symbols,因为我没有链接到ITK库(其中有50个)。我无法相信我需要添加其他依赖项50-60个库。

我在这里缺少什么?无法找到任何关于链接到SimpleITK fom C ++的文档。

谢谢和欢呼

阿里

1 个答案:

答案 0 :(得分:3)

建议使用CMake。你是正确的,你需要手动添加所有这些库。

从SimpleITK / Examples / CMakeLists.txt文件中可以看到如何使用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} )