アプリケーションで DCMTK を使用し、コンパイルには cmake ファイルを使用します。cmake はすべてのライブラリを見つけます (ソース ファイルを .o ファイルにコンパイルするため、少なくともヘッダー)。唯一の問題は、リンク中に DCMTK の動的ライブラリを見つけようとすることです。1 つを静的としてコンパイルしたので、.so ファイルはありません。その結果、エラーが発生します:No rule to make target /usr/lib/libdcmdata.so, needed by dcm_seg. Stop.
Ubuntu 14.04 x64 を使用しています。
それは私をかなり混乱させます。それで、問題は何ですか?
cmake ファイル:
cmake_minimum_required(VERSION 2.6)
project(dcm_segm)
set(CMAKE_CXX_FLAGS "-std=c++0x ${CMAKE_CXX_FLAGS} -g -ftest-coverage -fprofile-arcs")
set(Boost_USE_STATIC_LIBS ON)
set(OpenCV_USE_STATIC_LIBS ON)
set(DCMTK_USE_STATIC_LIBS ON)
set(OpenCV_STATIC ON)
find_package( VTK REQUIRED )
find_package( OpenCV REQUIRED )
find_package( Boost COMPONENTS system filesystem REQUIRED )
find_package( DCMTK REQUIRED )
include(${VTK_USE_FILE} )
link_directories(${OpenCV_LIB_DIR})
add_executable(dcm_seg main.cpp DICOMin.cpp Ensemble.cpp Ensemble3dExtension.cpp point_3d.cpp RegionGrow.cpp)
target_link_libraries(dcm_seg ${VTK_LIBRARIES} ${OpenCV_LIBS} ${DCMTK_LIBRARIES} ${Boost_LIBRARIES})