【发布时间】:2012-04-02 23:42:47
【问题描述】:
在 cmake 项目下包含测试时遇到问题。我的项目是这样设置的:
TerrainMap
/ \
PointAccumulator heightQuadGrid
\
Test
在 TerrainMap 目录中,CMakeLists.txt 文件简单地概述了 cmake 版本、项目名称并包括两个子目录。
在 heightQuadGrid 中,CMakeLists.txt 如下所示:
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)
据我了解,它创建了一个名为 heightQuadGrid 的库。 Test 中的 CMakeLists.txt 如下所示:
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})
最后,cpp 文件 heightQuadGridTest.cpp 包含以下内容:
#include <heightQuadGrid/heightQuadGrid.h>
cmake 工作正常,但是当我去制作项目时它告诉我它找不到 heightQuadGrid/heightQuadGrid.h
我在另一个工作项目中看到了非常相似的方法,这是怎么回事?
【问题讨论】: