【发布时间】:2021-11-21 02:16:15
【问题描述】:
我有一个第三方静态库,我想将其添加到项目中,并且由于该库正在持续更新,我想坚持使用根目录中的单个 CMakeLists.txt(如果可能) - 或至少是每次更新库时需要最少定制量的设置。
假设我的文件结构是这样的:
├── include
│ └── my_api
│ ├── some
│ │ └── long
│ │ └── path
│ │ └── include
│ │ ├── header1.h
│ │ └── header2.h
│ └── other
│ └── very
│ └── long
│ └── path
│ └── include
│ ├── header3.h
│ └── header4.h
├── lib
│ └── libmy_api.a
├── CMakeLists.txt
└── main.cpp
我学习了大量教程,但是当我在 main.cpp 中包含其中一个标头时,CMake 或 Make 无法构建,或者我得到“没有这样的文件或目录”。
我绝不是 CMake 超级用户,我什至不确定是否有可能在根目录中只使用一个 CMakeLists.txt、处理所有内容,或者这是否是一种好习惯。
更复杂的是,header1.h 依赖于 header3.h 使用此路径:
#include "other/very/long/path/include/header3.h"
感谢所有帮助 - 谢谢!
【问题讨论】:
标签: c++ cmake static-libraries