我有这个目录结构:
projects/
project1/
src/
main.cpp
CMakeLists.txt
project2/
src/
file1.h
file1.cpp
test1.cpp
顶级项目目录不能被视为顶级项目,而只是一组不相关的项目,因此我不会将CMakeLists.txt
文件放在该级别。
我希望project1包含来自project2的文件而不指定完整路径,例如:
// main.cpp
#include "file1.h"
我还希望在project1中构建project2的实现文件。
我需要project2不是一个库,而只是使用它的文件,就像它们是project1的一部分一样。
我正在使用cmake
,这是我写的CMakeLists.txt
文件(它不起作用):
cmake_minimum_required(VERSION 2.8)
project(project1)
add_subdirectory(src)
add_subdirectory(../../project2/src)
即使指定project2的完整路径也不起作用:${CMAKE_CURRENT_SOURCE_DIR)/../../project2/src
我从make
收到“致命错误:file1.h:没有此类文件或目录”。
答案 0 :(得分:1)
要使用外部包含文件,这可以:
include_directories