Tengo problemas para incluir una prueba en un proyecto de cmake. Mi proyecto se establece así:cmake incluyendo h archivos de otros directorios
TerrainMap
/ \
PointAccumulator heightQuadGrid
\
Test
en el directorio TerrainMap el archivo CMakeLists.txt simplemente esboza la versión cmake el nombre del proyecto e incluye los dos subdirectorios.
En heightQuadGrid la CMakeLists.txt se parece a esto:
cmake_minimum_required(VERSION 2.8)
find_package(PCL 1.2 REQUIRED)
find_package(OpenCV REQUIRED)
include_directories(${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})
add_library(heightQuadGrid heightQuadGrid.cpp)
add_subdirectory(Test)
que como he entendido hace una biblioteca llamada heightQuadGrid. El CMakeLists.txt en la prueba es el siguiente:
FIND_PACKAGE(PCL 1.2 REQUIRED)
FIND_PACKAGE(OpenCV REQUIRED)
FIND_PACKAGE(Boost COMPONENTS unit_test_framework REQUIRED)
include_directories(${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})
link_libraries(heightQuadGrid)
add_executable(heightQuadTreeTest heightQuadGridTest.cpp)
target_link_libraries (heightQuadTreeTest heightQuadGrid ${PCL_LIBRARIES} ${OpenCV_LIBS} ${Boost_UNIT_TEST_FRAMEWORK_LIBRARY})
Y finalmente el archivo CPP ha heightQuadGridTest.cpp esto incluyen:
#include <heightQuadGrid/heightQuadGrid.h>
el cmake funciona correctamente, pero cuando voy a hacer que el proyecto se dice me que no puede encontrar heightQuadGrid/heightQuadGrid.h
¿Cuál es el problema ya que he visto un enfoque muy similar en otro proyecto de trabajo?
No, no me lo creo, me indica que estoy tratando de conseguir heightQuadGrid.h de la biblioteca heightQuadGrid que he vinculado apropiadamente. –
Corrija si estoy equivocado (no tengo su estructura de directorio en mi máquina) pero "vincular apropiadamente" le dice al * vinculador * dónde buscar ... los directorios de inclusión le dicen al * compilador * dónde buscar. – tmpearce
Ok, creo que entiendo lo que quieres decir, pero ¿necesitaría incluir 2 directorios o solo uno en donde heightQuadGrid.h es? ¿Y luego cómo lo incluyo en mi archivo cpp, de la forma en que lo hice? –