CMake Trouble, включая каталоги - PullRequest
0 голосов
/ 12 февраля 2020

Привет У меня возникли проблемы с получением разных библиотек для распознавания друг друга, когда они находятся в разных каталогах.

Вот изображение структуры моего проекта:

Structure

Например, у меня есть библиотека с именем peac, а в верхней части eig33sym.hpp есть следующее включение в Eigen

#include <Eigen/Core>
#include <Eigen/Dense>

Просто чтобы уточнить, если Вместо этого я изменяю эти включения на что-то вроде этого, затем он работает нормально.

#include "../Eigen/Core"
#include "../Eigen/Dense"

Однако, так как у меня есть несколько разных библиотек, которые все ссылаются друг на друга, на самом деле не совсем идеально проходить через go и изменять каждый файл. .

При этом я где-то видел, что, возможно, я хочу использовать include_directories() внутри моего CMakeLists.txt для решения этой проблемы, но пока мне не повезло.

Вот то, что у меня сейчас есть в моих CMakeLists.txt

cmake_minimum_required(VERSION 3.4.1)

add_library( lib_opencv SHARED IMPORTED )
set_target_properties(lib_opencv PROPERTIES IMPORTED_LOCATION ${CMAKE_CURRENT_SOURCE_DIR}/src/main/jniLibs/${ANDROID_ABI}/libopencv_java3.so)
include_directories(D:/opencv-3.4.9-android-sdk/OpenCV-android-sdk/sdk/native/jni/include)

add_library(native-lib SHARED src/main/cpp/native-lib.cpp)

include_directories(D:/AndroidFreightMeasure/app/src/main/cpp/include/Eigen/)

find_library(log-lib log)

target_link_libraries(native-lib lib_opencv ${log-lib})

Независимо от того, что я пытаюсь, мне всегда кажется, что я получаю одну и ту же ошибку

..\..\..\..\src\main\cpp\include\peac\eig33sym.hpp:37:11: fatal error: 'Eigen/Core' file not found

Любые предложения?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...