c++ - 从 Visual Studio 2008 链接的 SimpleITK

标签 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"

问题:我要链接到什么?

我可以将所有 SimpleITK 库一一添加到 linker/input/additional dependencies。然后我得到未解析的外部符号,因为我没有链接到 ITK 库(大约有 50 个)。我不敢相信我需要添加额外的依赖项 50-60 个库。

我在这里错过了什么?找不到任何关于从 C++ 链接到 SimpleITK 的文档。

感谢和欢呼

阿里

最佳答案

推荐使用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} )

关于c++ - 从 Visual Studio 2008 链接的 SimpleITK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25923742/

相关文章:

c++ - 如何返回可变参数模板的最后一种类型?

c++ - WriteFile 写入错误

c++ - 使用 clang 的 CMake 显示 undefined symbol ,并且使用 cl 正确链接

Python 图像库 - 文本渲染

c - OpenCV 分组白色像素

c++ - 为什么在定义变量并链接库时为 "undefined reference"?

c++ - 如何使用成员函数创建 packaged_task?

c++ - 将 CMake.txt 转换为 .vcxproj 文件 C++ Visual Studio 项目

c++ - 找不到 SFML 库

python (PIL) : Lighten transparent image and paste to another one