Связать библиотеки ITK в Eclipse

Мой проект работал на Eclipse должным образом, но внезапно у меня появилось слишком много ошибок, поэтому я перезапустил настройку всего с самого начала. Сейчас я использую простой класс Hello world, и он отлично работает (он печатает все), но у меня много ошибок в консоли. Я считаю, что что-то мне не хватает при настройке всего вместе.

Найдите ниже класс HelloWorld:

#include "itkImage.h"
#include <iostream>
int main()
{
  typedef itk::Image< unsigned short, 3 > ImageType;
  ImageType::Pointer image = ImageType::New();
  std::cout << "Hello ITK World 1" << std::endl;
  constexpr unsigned int dimension = 3;
  std::cout << dimension << std::endl;
  return 0;
}

Найти ниже CMakeLists.txt

cmake_minimum_required(VERSION 3.6.2)

set(ITK_DIR "/home/itk/lib/cmake/ITK-4.13/")
set(VTK_DIR "/home/vtk/lib/cmake/vtk-8.1/")
set(CMAKE_C_COMPILER "gcc")

project(Main)
    find_package(ITK REQUIRED)
    include(${ITK_USE_FILE})
    add_executable(Main Main.cxx)
    target_link_libraries(Main ${ITK_LIBRARIES})

Найти ниже ошибки появляются в консоли (я скопировал только небольшую часть, но они больше!)

15:46:13 **** Инкрементная сборка конфигурации По умолчанию для проекта ProjectTwo **** сделать все Цель строительства: ProjectTwo Вызов: Cross G++ Linker g ++ -o "ProjectTwo"./src/Main.o
./src/Main.o: в функции itk::ImageBase<3u>::Graft(itk::DataObject const*)': /home/itk/include/ITK-4.13/itkImageBase.hxx:372: undefined reference totypeinfo для itk::DataObject' ./src/Main.o: в функции vnl_svd<double>::~vnl_svd()': /home/itk/include/ITK-4.13/vnl/algo/vnl_svd.h:86: undefined reference tovnl_matrix::~vnl_matrix()' ./src/Main.o: в функции ~vnl_diag_matrix': /home/itk/include/ITK-4.13/vnl/vnl_diag_matrix.h:57: undefined reference tovnl_vector::~vnl_vector()' /home/itk/include/ITK-4.13/vnl/vnl_diag_matrix.h:57: неопределенная ссылка на vnl_vector<double>::~vnl_vector()' ./src/Main.o: In functionvnl_svd::~vnl_svd()': /home/itk/include/ITK-4.13/vnl/algo/vnl_svd.h:86: неопределенная ссылка на vnl_matrix<double>::~vnl_matrix()' ./src/Main.o: In functionitk::ImageBase<3u>::~ImageBase()': /home/itk/include/ITK-4.13/itkImageBase.hxx:90: неопределенная ссылка на itk::DataObject::~DataObject()' ./src/Main.o: In function~ImageBase': /home/itk/include/ITK-4.13/itkImageBase.hxx:90: неопределенная ссылка на itk::DataObject::~DataObject()' /home/itk/include/ITK-4.13/itkImageBase.hxx:90: undefined reference toitk::DataObject::~DataObject()' ./src/Main.o: в функции itk::ImportImageContainer<unsigned long, unsigned short>::~ImportImageContainer()': /home/itk/include/ITK-4.13/itkImportImageContainer.hxx:50: undefined reference toitk::Object::~Object()' ./src/Main.o: в функции ~ImportImageContainer': /home/itk/include/ITK-4.13/itkImportImageContainer.hxx:50: undefined reference toitk::Object::~Object()' ./src/Main.o: в функции MemoryAllocationError': /home/itk/include/ITK-4.13/itkExceptionObject.h:183: undefined reference toitk::ExceptionObject::ExceptionObject(std::string const&, unsigned int, std::string const&, std::string const&)' /home/itk/include/ITK-4.13/itkExceptionObject.h:183: неопределенная ссылка на vtable for itk::MemoryAllocationError' ./src/Main.o: In functionitk::ImportImageContainer::AllocateElements(unsigned long, bool) const': /home/itk/include/ITK-4.13/itkImportImageContainer.hxx:201: неопределенная ссылка на itk::MemoryAllocationError::~MemoryAllocationError()' /home/itk/include/ITK-4.13/itkImportImageContainer.hxx:201: undefined reference totypeinfo для itk::MemoryAllocationError' ./src/Main.o: в функции itk::Image<unsigned short, 3u>::Graft(itk::DataObject const*)': /home/itk/include/ITK-4.13/itkImage.hxx:130: undefined reference totypeinfo для itk::DataObject' makefile:45: рецепт для цели'ProjectTwo'не выполнен /home/itk/include/ITK-4.13/itkImage.hxx:139: неопределенная ссылка на itk::ExceptionObject::ExceptionObject(char const*, unsigned int, char const*, char const*)' /home/itk/include/ITK-4.13/itkImage.hxx:139: undefined reference toitk::ExceptionObject::ExceptionObject(itk::ExceptionObject const&)' /home/itk/include/ITK-4.13/itkImage.hxx:139: неопределенная ссылка на itk::ExceptionObject::~ExceptionObject()' /home/itk/include/ITK-4.13/itkImage.hxx:139: undefined reference totypeinfo для itk::ExceptionObject' /home/itk/include/ITK-4.13/itkImage.hxx:139: неопределенная ссылка на `itk::ExceptionObject::~ExceptionObject()'

Интересно, он использует компилятор G++ (Cross G++ Linker g++ -o "ProjectTwo" ./src/Main.o ./src/Main.o:), когда я заставил его использовать компилятор GCC. На веб-странице ITK я обнаружил, что компилятор GCC поддерживается только!!

0 ответов

Другие вопросы по тегам