链接C 项目中的ITK标头文件

link ITK header files in C++ project

本文关键字:文件 ITK 项目 链接      更新时间:2023-10-16

我很抱歉,如果我的问题很琐碎,但是我尝试了许多解决方案,没有任何解决方案。我正在尝试运行一个简单的helloworld程序,并包含ITK: itkImage.h的标头文件。

运行 cmake ../src构建makefile是可以的。但是运行make all给出了此错误:/src/HelloWorldTwo.cpp:10:22: fatal error: itkImage.h: No such file or directory #include "itkImage.h"

在我的CMakeLists.txt文件和HelloWorldTwo.cpp下找到下方我在这里缺少什么?我尝试从Eclipse和命令窗口运行命令,但没有成功。我确定ITK_DIR包含ITKConfig.cmake,这就是为什么cmake还可以!

谢谢!

cmakelists.txt:

cmake_minimum_required(VERSION 2.8)
project(HelloWorldTwo)
# Find ITK.
set(ITK_DIR "/home/usr/itk/lib/cmake/ITK-4.13")
find_package(ITK REQUIRED)
include(${ITK_USE_FILE})
add_executable(HelloWorldTwo HelloWorldTwo.cpp)
target_link_libraries(HelloWorldTwo ${ITK_LIBRARIES})

helloworldtwo.cpp:

#include <iostream>
#include "itkImage.h"
using namespace std;
int main() {
    cout << "Hello World!!!" << endl; // prints Hello World!!!
    return 0;
}

调试cmakelists.txt中的变量:

- itk_dir:/home/usr/itk/lib/cmake/itk-4.13

cmake_minimum_required(VERSION 2.8)-至少您可能需要将其更新为2.8.12,因为这是ITK 4.13所需的最小版本。更新的更好,请尝试将其设置为3.10.2(或您拥有的CMAKE版本的哪个(。另外,ITK_LIBRARIES应该是半分离的列表,而不是这样合并。message(STATUS "ITK_LIBRARIES: ${ITK_LIBRARIES}")应该产生类似的内容:

ITK_LIBRARIES: itkdouble-conversion;itksys;itkvnl_algo;itkvnl;itkv3p_netlib;itknetlib;itkvcl;ITKCommon;itkNetlibSlatec;ITKStatistics;ITKTransform;ITKMesh;itkzlib;ITKMetaIO;ITKSpatialObjects;ITKPath;ITKEXPAT;ITKznz;ITKniftiio;ITKgiftiio;ITKIOImageBase;ITKIOMesh;IOSTL;ITKLabelMap;ITKQuadEdgeMesh;ITKOptimizers;ITKPolynomials;ITKBiasCorrection;ITKBioCell;ITKDICOMParser;ITKIOXML;ITKIOSpatialObjects;ITKFEM;gdcmDICT;gdcmMSFF;hdf5_cpp-static;hdf5-static;ITKIOBMP;ITKIOBioRad;ITKIOCSV;ITKIOGDCM;ITKIOIPL;ITKIOGE;ITKIOGIPL;ITKIOHDF5;itkjpeg;ITKIOJPEG;itktiff;ITKIOTIFF;ITKIOLSM;ITKIOMRC;ITKIOMeta;ITKIONIFTI;ITKNrrdIO;ITKIONRRD;itkpng;ITKIOPNG;ITKIOSiemens;ITKIOStimulate;ITKTransformFactory;ITKIOTransformBase;ITKIOTransformHDF5;ITKIOTransformInsightLegacy;ITKIOTransformMatlab;ITKIOVTK;ITKKLMRegionGrowing;ITKOptimizersv4;itkopenjpeg;ITKVTK;ITKWatersheds;ITKReview;ITKVideoCore;ITKVideoIO;ITKVtkGlue