Привет У меня возникли проблемы с получением разных библиотек для распознавания друг друга, когда они находятся в разных каталогах.
Вот изображение структуры моего проекта:
Например, у меня есть библиотека с именем 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
Любые предложения?