Это вопрос для тех, кто использует SimpleITK из программы на C ++.
Я скачал код SimpleITK и сгенерировал VS2008 .sln
файлы с использованием CMake согласно инструкциям SimpleITK (Superbuild).
в 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 для C ++.
Спасибо и ура
Ari
Рекомендуется использовать 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} )