Как построить мой проект с помощью Clion Remote? - PullRequest
0 голосов
/ 22 апреля 2020

Я успешно настроил удаленный проект в CLion. Он распознает компилятор и все на удаленном хосте, а также синхронизирует изменения.
Теперь к моей проблеме:
Когда я пытаюсь построить и запустить проект, он выдает ошибку, что не может найти определенную библиотеку:

fatal error: Eigen/SparseCore: No such file or directory
 #include <Eigen/SparseCore> 

Но когда я захожу на сервер через s sh, я могу go в синхронизированный каталог, запустить make, и он без ошибок компилируется. После этого я могу без проблем запустить скомпилированное приложение.

Вот CMakeLists.txt:

cmake_minimum_required(VERSION 3.10)
project(projectName)

set(CMAKE_CXX_STANDARD 14)

include_directories(/usr/local/PRIV)
include_directories(/usr/local/PRIV/Includes)
include_directories(/usr/local/PRIV/Includes/SubDir)
include_directories(/usr/local/PRIV/Includes/SubDir/eigen3)
include_directories(/usr/local/PRIV/Includes/SubDir/eigen3/Eigen/)
include_directories(/usr/local/PRIV/Includes/SubDir/qhull)

add_executable(
        Example/MyTopTen/Makefile
        Example/MyTopTen/MyTopTen.cc
        Example/MyTopTen/MyTopTen.h
        Example/MyTopTen/Readme.txt
        Example/Makefile
        Example/Example.cc
        )

Я очень новичок в проектах cmake и Stackoverflow, так что если я смогу улучшить этот вопрос, просто дайте мне я знаю!

1 Ответ

0 голосов
/ 22 апреля 2020

Пожалуйста, следуйте инструкциям Eigen, как использовать его с CMake https://eigen.tuxfamily.org/dox/TopicCMakeGuide.html

В этом случае ваш CMakeLists.txt должен выглядеть как

cmake_minimum_required(VERSION 3.10)
project(projectName)

set(CMAKE_CXX_STANDARD 14)

find_package (Eigen3 3.3 REQUIRED NO_MODULE)
include_directories(${EIGEN3_INCLUDE_DIR})

add_executable(myTargetName
        Example/MyTopTen/MyTopTen.cc
        Example/MyTopTen/MyTopTen.h
        Example/Example.cc
        )
target_link_libraries (myTargetName Eigen3::Eigen)

После этой перезагрузки Проект CMake в CLion через Tools | CMake | Reset Cache and Reload Project.

...