я получил некоторые из этих ошибок при компиляции на Ubuntu 16.04.1,Как решить «неопределенные ссылки на»
Linking CXX executable ../lib/Slicer-4.7/cli-modules/abcd
/path/to/SimpleITK/SimpleITK-build/SimpleITK-build/lib/libSimpleITKBasicFilters1-0.11.so.1: undefined reference to `itk::ImageToImageFilter<itk::Image<int, 2u>, itk::Image<int, 2u> >::PushFrontInput(itk::DataObject const*)'
ли это undefined reference to
означает SimpleITK не связан? Ниже мой Cmakelist:
cmake_minimum_required(VERSION 2.8.8)
#-----------------------------------------------------------------------------
set(MODULE_NAME "abcd")
#-----------------------------------------------------------------------------
set(MODULE_HOMEPAGE "${_EXT_HOMEPAGE}")
set(MODULE_CATEGORY "${_EXT_CATEGORY}")
set(MODULE_CONTRIBUTORS "abc")
set(MODULE_DESCRIPTION "abc")
set(MODULE_ACKNOWLEDGEMENTS "${_EXT_ACKNOWLEDGEMENTS}")
set(MODULE_LICENSE_SHORT_DESCRIPTION "${MODULE_LICENSE_SHORT_DESCRIPTION}")
set(MODULE_MAJOR_VERSION "${_EXT_MAJOR_VERSION}")
set(MODULE_MINOR_VERSION "${_EXT_MINOR_VERSION}")
set(MODULE_PATCH_VERSION "${_EXT_PATCH_VERSION}")
# Configure XML description
configure_file(
${MODULE_NAME}.xml.in
${CMAKE_CURRENT_BINARY_DIR}/${MODULE_NAME}.xml
@ONLY
)
#-----------------------------------------------------------------------------
set(MODULE_INCLUDE_DIRECTORIES
)
set(MODULE_SRCS
)
set(MODULE_TARGET_LIBRARIES
${ITK_LIBRARIES} ${SimpleITK_LIBRARIES}
)
#-----------------------------------------------------------------------------
SEMMacroBuildCLI(
NAME ${MODULE_NAME}
TARGET_LIBRARIES ${MODULE_TARGET_LIBRARIES}
INCLUDE_DIRECTORIES ${MODULE_INCLUDE_DIRECTORIES}
ADDITIONAL_SRCS ${MODULE_SRCS}
)
#-----------------------------------------------------------------------------
if(BUILD_TESTING)
add_subdirectory(Testing)
endif()
Но как вы можете видеть, у меня есть цель подключаемой библиотека SimpleITK и ITK, и что модуль ломтерезки отлично работает в ломтерезках 4.4 версии, но после обновления среза до 4.7, это делает не работа. Кто-нибудь знает, как это исправить, или дать мне подсказку? Любая помощь оценивается.
Спасибо! Я попробую это – MMzztx
Кажется, что это не работает, есть ли у вас какая-либо другая идея? Большое спасибо – MMzztx
Еще одна вещь, которую нужно попробовать - это превратить общие библиотеки SimpleITK: https://github.com/Slicer/Slicer/blob/master/SuperBuild/External_SimpleITK.cmake#L68 Если это не работает, то «-DSITK_EXPLICIT_INSTANTIATION: BOOL = 0 "- это последнее, что нужно попробовать. – blowekamp