фатальная ошибка: нет такого файла или каталога, когда я уверен, что я правильно установил find_package - PullRequest
0 голосов
/ 29 ноября 2018

Я пытаюсь скомпилировать свои собственные скрипты, которые используют aruco (v 3.0.7) в Linux.Я использую make-файл, но при компиляции я получаю эту ошибку.

[ 33%] Building CXX object CMakeFiles/aruco_simple.dir/aruco_simple.cpp.o
/home/ucfaptv/opt/aruco-3.0.7/mine/aruco_simple.cpp:2:25: fatal error: aruco/aruco.h: No such file or directory
 #include <aruco/aruco.h>
                         ^
compilation terminated.
make[2]: *** [CMakeFiles/aruco_simple.dir/aruco_simple.cpp.o] Error 1
make[1]: *** [CMakeFiles/aruco_simple.dir/all] Error 2
make: *** [all] Error 2

Мой CMakeLists.txt выглядит так

cmake_minimum_required(VERSION 2.8) 
SET(CMAKE_CXX_FLAGS "-std=c++11")

find_package(OpenCV REQUIRED PATHS "/home/ucfaptv/opt/opencv-3.4.4/build")
find_package(aruco REQUIRED PATH "/home/ucfaptv/opt/aruco-3.0.7/src")

add_library(aruco_simple SHARED aruco_simple.cpp)
target_link_libraries(aruco_simple aruco ${OpenCV_LIBS})

add_executable(run run.cpp)
target_link_libraries(run aruco_simple aruco ${OpenCV_LIBS})

add_executable(view view.cpp)
target_link_libraries(view aruco_simple aruco ${OpenCV_LIBS})

Я думал, find_package должно указывать на aruco.h находится в /home/ucfaptv/opt/aruco-3.0.7/src

Используя тот же make-файл (пути отредактированы), я могу прекрасно скомпилировать на своем Mac.


У меня сейчас установлена ​​aruco!Коллега указал, что, поскольку я устанавливаю локально (например, не make install) aruco.h, а не в каталоге /usr/local/include/aruco, поэтому оператор include теперь #include <aruco.h>.Мне также пришлось отредактировать файлы aruco.pc и arucoConfig.cmake, чтобы они указывали на каталог /home/ucfaptv/opt/aruco-3.0.7/src, а не на /usr/local/include

1 Ответ

0 голосов
/ 29 ноября 2018

Когда у вас есть пакет, вам все равно нужно добавить путь включения, чтобы добавить его в команды компиляции:

include_directories(${aruco_DIR})

(переменная установлена ​​в соответствии с https://github.com/elliotwoods/ArUco-MarkerMapper/blob/master/CMakeLists.txt)

И то же самоедля OpenCV.

...