Ich habe Bibliothek, AprilTags, die CMake verwendet Top erstellen.CMake Header-Dateien, die nicht in enthalten sind
Ich habe ein anderes Projekt AIV, das AprilTags verwendet. Ich möchte die Apriltags-Bibliothek innerhalb von ~/aiv/apriltags behalten, habe aber eine andere Datei, front_back_camera_demo, die einige der Dateien in der AprilTags-Bibliothek verwendet.
So ist die Dateistruktur sieht aus wie
~/aiv/build/
/apriltags/CMakeLists.txt
/apriltags/AprilTags/TagDetector.h
/apriltags/AprilTags/*.h
/front_back_camera_demo.cpp
/CMakeLists.txt
Als ich Cmake auf der obersten Ebene CMakeLists.txt laufen, ist es die Bibliothek AprilTags baut erfolgreich, aber dann bekomme ich eine
front_back_camera_demo.cpp:72:35: fatal error: AprilTags/TagDetector.h: No such file or directory
Fehler auf die Linie, wo ich AprilTags/TagDetector.h
Hier sind die beiden relevanten CMakeLists.txt sind:
Top Level:
cmake_minimum_required(VERSION 2.6)
project(AIV)
add_subdirectory(apriltags)
add_executable(front_back_camera_demo front_back_camera_demo.cpp
Serial.cpp)
target_link_libraries(front_back_camera_demo apriltags)
Innen apriltags:
cmake_minimum_required(VERSION 2.6)
project(apriltags)
#add_definitions(-pg) #"-fopenmp)
# pull in the pods macros. See cmake/pods.cmake for documentation
set(POD_NAME apriltags)
include(cmake/pods.cmake)
file(GLOB SOURCE_FILES "src/*.cc")
include_directories(AprilTags . /opt/local/include)
add_library(apriltags ${SOURCE_FILES})
find_package(OpenCV)
include_directories(${OpenCV_INCLUDE_DIRS})
target_link_libraries(apriltags ${OpenCV_LIBS}) #-pg) #-fopenmp)
pods_use_pkg_config_packages(apriltags eigen3)
if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
target_link_libraries(apriltags -L/opt/local/lib/) # MacPorts
special treatment...
else (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
pods_use_pkg_config_packages(apriltags libv4l2)
endif (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
pods_install_libraries(apriltags)
file(GLOB header_files "AprilTags/*.h")
pods_install_headers(${header_files} DESTINATION AprilTags/)
pods_install_pkg_config_file(apriltags
LIBS -lapriltags
REQUIRES eigen3 opencv2
VERSION 1.0.0)
add_subdirectory(example)
Was mache ich falsch?
Ich kann Ihnen sagen, dass die 'CMakeLists.txt' auf oberster Ebene' -I $ {top_srcdir}/apriltags' an den Compiler übergeben muss, aber ich weiß nicht, wie ich CMake sagen soll, und das kann ich auch haben '$ {top_srcdir} 'falsch geschrieben. – zwol