Почему я не могу включить SimpleITK.h не может быть включен в C++ после установки?

Я установил SimpleITK и успешно протестировал ctest. Затем я включил библиотеку в .bashrc как export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/softwares/vtk-itk/SimpleITK-build/lib. Для установки я запустил make install в ~/softwares/vtk-itk/SimpleITK-build/SimpleITK-build, и он был успешно установлен. Однако, когда я пытаюсь включить #include <SimpleITK.h>, кажется, что он знает путь установки.

введите здесь описание изображения

Я пытаюсь написать свой код в Clion IDE, и даже он не показывает папку simpleITK в External Library корнях проекта.

Как решить эту проблему?


person S.EB    schedule 22.08.2019    source источник


Ответы (1)


Я считаю, что проблема не связана с LD_LIBRARY_PATH, поскольку это не проблема связывания. Вы можете узнать больше о том, как изменить/добавить включаемые пути в CLion или с помощью cmake:

https://www.jetbrains.com/help/clion/quick-cmake-tutorial.html?_ga=2.94689947.663182776.1566473811-565224727.1566473811#include

Включение каталогов в Clion

https://intellij-support.jetbrains.com/hc/en-us/community/posts/206608335-How-can-I-specify-additional-include-files-

По сути, это может быть отсутствующая функция include_directories() или что-то в этом роде. Я не очень хорошо знаком с simpleitk, но надеюсь, что эта общая информация поможет.

person life_steal    schedule 22.08.2019
comment
Спасибо за ваш ответ, я добавил include_directories(/home/esomayeh/softwares/vtk-itk/SimpleITK-build/include/SimpleITK-1.1/), который содержит файлы заголовков внутри файла Cmake. Тем не менее, он показывает ошибку: main.cpp:(.text.startup+0xb4): undefined reference to itk::simple::Image::Image...." например, здесь класс Image. Эта ошибка отображается для всех классов в helloWorld.cpp а в чем причина? как это решить - person S.EB; 25.08.2019
comment
Я считаю, что это ошибка связывания, которая может быть связана с тем, что вы не указали пути связывания. Вы можете использовать target_link_libraries, чтобы добавить путь, по которому SimpleITK имеет свои библиотеки (файлы .so,.a, обычно во вложенной папке с именем lib). Вот хороший ответ, который может помочь вам stackoverflow.com/questions/39598323/ - person life_steal; 26.08.2019