c++ - cmake:安装外部提供的包含和库
问题描述
我有一个非常简单的问题,我找不到解决方案:
我正在与一家公司合作,该公司偶尔会向我发送两个目录,一个带有 .h 文件,第二个带有两种形式的库,共享和静态。说 -
X/include/*
X/lib/libX.so
X/lib/libX.a
我想用一个执行这个简单操作的 cmake 项目来包装这个输入 - 创建一个我可以安装的 cmake 目标、别名、版本等。
解决方案
你可能想看看这里,因为它很好地解释了如何导入目标。
像这样的东西应该工作:
# Shared library
add_library(LibX-Shared SHARED IMPORTED)
set_target_properties(LibX-Shared PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "X/include"
IMPORTED_LOCATION "X/lib/libX.so"
)
# Static library
add_library(LibX-Static STATIC IMPORTED)
set_target_properties(LibX-Static PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "X/include"
IMPORTED_LOCATION "X/lib/libX.a"
)
然后你应该能够在 CMake 中使用这些目标:
target_link_libraries(myexe LibX-Shared)
推荐阅读
- python - 如何修复 TypeError:元音()缺少所需的位置参数:'filehandle'?
- javascript - 如何使 JSON 响应数据全局化:)
- python - 在mac环境下操作PyInstaller可执行文件时,无法引用Excel工作表
- c# - 碰撞不适用于 Unity 2D 中的标签
- c - 具有字符串顺序的二叉搜索树
- python - 如何更改 Pillow python 中的线条方向?
- sql - 查询按几列分组
- module - 将 `require(file)` 中的值加载到局部变量中
- reactjs - 使用后退按钮时 Nextjs 应用程序中的 React-spring 错误
- javascript - 如何在javascript中使用嵌套对象序列化对象?