-project (XYZ)
--include
---library.h
---module_1.h
---module_2.h
--src
---library.cc
---module_1.cc
---module_2.cc
--CMakeLists.txt
cmake_minimum_required(VERSION 3.5)
project(XYZ)
set(CMAKE_CXX_STANDARD 17)
add_library(XYZ SHARED library.cc module_1.cc module_2.cc)
include_directories(${PROJECT_SOURCE_DIR}/include)
我想从module_2引用module_1,如
#include <XYZ/module_2.h>
我读过这篇文章CMakeLists.txt add subfolder which represents namespace (just for organization)。但答案对我来说没有多大用处。
如果有一种方法可以在不更改目录结构的情况下更好。
答案 0 :(得分:1)
实现此目的的最简单方法实际上是更改目录结构,但仅限于include目录。
所以而不是
df_final.head()
col1 col2
0 2018-01-01 00:00:00
你可以这样做:
-project (XYZ)
--include
---library.h
---module_1.h
---module_2.h
--src
---library.cc
---module_1.cc
---module_2.cc
--CMakeLists.txt
然后,而不是使用-project (XYZ)
--include
---XYZ
----library.h
----module_1.h
----module_2.h
--src
---library.cc
---module_1.cc
---module_2.cc
--CMakeLists.txt
代替:
include_directories(${PROJECT_SOURCE_DIR}/include)