设置项目以保持目录结构与cmake有问题。
我想保留的项目结构:
en_core_web_md
源代码包括示例:
Project
|-libA
| |-fileA.h
| |-fileA.cpp
| |-CMakeLists.txt
|-include
| |-fileI.h
|-program1
| |-main.cpp
| |-CMakeLists.txt
|-CMakeLists.txt
这不起作用。 Cmake无法找到" libA / fileA.h" ,它只有在我创建以下目录结构时才有效:
#include "libA/fileA.h"
如何保持第一个示例中显示的项目结构并将目录名保留在源文件中? (例如#include" libA / fileA.h")
项目cmake:
Project
|-libA
| |-libA (directory)
| |-fileA.h
| |-fileA.cpp
| |-CMakeLists.txt
|-include
| |-fileI.h
|-program1
| |-main.cpp
| |-CMakeLists.txt
|-CMakeLists.txt
libA cmake:
cmake_minimum_required(VERSION 3.8)
project(A)
include_directories( ${PROJECT_SOURCE_DIR}/include )
add_subdirectory(libA)
add_subdirectory(program1)
Program1 cmake:
set(LIBA_SRC libA/fileA.cpp)
add_library(libA SHARED ${LIBA_SRC})
答案 0 :(得分:1)
如果将program1中的include目录更改为
target_include_directories (program1 PUBLIC ${PROJECT_SOURCE_DIR})
它将从您的源目录中搜索,因此" libA / fileA.h"会找到它的目标。