对于在SimpleITK程序中使用C++的任何人来说,这都是一个问题。
我下载了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 lib。
我在这里错过了什么?找不到任何关于链接到SimpleITK fom C++的文档。
谢谢和欢呼声
Ari
发布于 2014-09-19 13:29:01
建议使用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} )https://stackoverflow.com/questions/25923742
复制相似问题