如何在我的项目中从 CMAKE 中的同一项目获取多个库
how to get multiple libraries from the same project in cmake in my project
>我有一个这样的项目:
main
|- CMakeLists.txt
|- src
|- api_1
| |- CMakeLists.txt (#1)
| |- api_1.h
| |- api_1.cpp
|
|- api_2
|- CMakeLists.txt (#2)
|- api_2.h
|- api_2.cpp
当我编译 probject 时,我想获取以下对象 结果:
executable
libapi_1.so / libapi_1.a
libapi_2.so / libapi_2.a
该项目目前构建libapi_1.so
/libapi_1.a
,但不构建其他两个。由于 probject 的复杂性非常高且命名晦涩难懂,我无法理解在哪里/如何适当地修改主级CMakeLists.txt
以获得额外的.so / .a
文件。
有人可以向我提供关于需要什么的明确说明吗?
您可以在CMakeList 中设置 2 个(或更多(项目.txt:
project(FullProject)
# config...
add_executable(exec1 ${sources_files}) # This line will create a new executable target
target_link_libraries(exec1 lib_you_need)
# config exec1...
# Now defines another target which is a library
add_library(lib1 ${sources_files}) # This line will create a new library target
target_include_directories(lib1 PRIVATE path_you_need)
当你构建时,你将有 2 个目标:exec1 和 lib1,你可以使用以下命令构建你想要的目标:
cmake --build . --target your_target # exec1 or lib1
或
make your_target # exec1 or lib1
相关文章:
- 如何在我的项目中从 CMAKE 中的同一项目获取多个库
- 如何自动获取我的项目的路径并删除一些文件
- 有没有一种简单的方法可以在C++中获取特定索引之后向量中的所有项目?
- 获取位于安卓工作室中可绘制的图像的绝对路径,用于NDK项目
- 如何从安卓、高通设备获取射频/NV项目?
- 从 boost::variant 中逐个索引获取项目,就像使用 std::variant 一样
- Qt - 在QGraphicScene中拖放时如何从项目中获取文本?
- 如何获取cmake工具链文件中的项目根目录,这可能吗
- 如何使用QList<QStandardItem *>获取列中的所有项目?
- 通过查找一对项目的代码获取错误的输出,在给定的总和相等的给定列表中列表
- 当我在子菜单MFC中按项目时如何获取事件
- 如何从unordered_set获取单个项目
- 无法通过 QModelIndex 从 QTreeView 获取项目
- 从 Freeglut/Opengl 2.1 项目中获取返回值
- 如何获取外部项目定义的目标的输出路径?
- C Winapi ListBox使用lb_getsel/lb_getCursel获取所选项目
- 如何从QTreeView中的项目获取索引
- 如何从C 代码获取项目名称
- 欧拉项目 #3 获取数字的最大质因数
- 无法从freeGlut项目获取stdoutput