如何通过Conan和CMake找到用于pkg配置的.pc文件
How to find .pc files for pkg-config via Conan and CMake
如何让pkg config找到通过Conan安装的两个依赖项以及Conan中没有的依赖项?
我的目标软件包是使用CMake构建的,并使用带有pkg_check_modules()
的pkg配置查找其依赖项。其中一个依赖项(glib-2.0
(是通过Conan安装的,另一个(libsecret-1
(不是,因为没有包。
在我的conanfile中,我将pkg-config_installer配置为构建需求(self.build_requires("pkg-config_installer/0.29.2@bincrafters/stable")
(。在构建软件包时,CMake正确地调用此pkg config.
因此,pkg config可以找到glib,但找不到libsecret。我假设它找到了通过Conan安装的依赖项的.pc
文件,但没有找到libsecret-1.pc
,它位于我的系统上的/usr/lib/pkgconfig/
中。
我试着告诉Conan的CMake工具使用这个路径:tools.PkgConfig("libsecret-1").variables["pcfiledir"]
告诉我它在哪里,CMake的配置方法有一个pkg_config_paths
参数。不幸的是,这并没有改变什么。
以下步骤使它对我有效:
- 将
PKG_CONFIG_PATH
环境变量设置为tools.PkgConfig
找到的pcfiledir
- 不要将任何
pkg_config_paths
传递给tools.CMake.configure()
,它不能很好地处理绝对路径,并且与环境变量冲突 - 在
package_info
步骤中将系统范围内安装的lib(在我的情况下为secret-1
(添加到cpp_info.system_libs
感谢@uilianries的有益评论!
相关文章:
- 为不同配置设置MSVC_RUNTIME_LIBRARY的正确方法是什么
- 无法找到/读取配置文件.conf-FileIOException
- 在WSL:configure_file上对config_file的每次调用都失败:配置文件时出现问题
- 一种在C++中读取TXT配置文件的简单方法
- 生成MRPT库时cmake配置失败
- FFMPEG配置文件级别id大小无效
- 如何通过Conan和CMake找到用于pkg配置的.pc文件
- 配置文件解析器仅返回以前的值
- 我的程序有一个保存配置文件的GUI,如何双击此配置文件以直接加载带有配置数据的GUI?
- 更改命令行 qt5 源代码构建配置的正确/快速方法
- 是否可以配置提升日志刷新?
- 如何配置Visual Studio Code以使用cygwin,cmake和gcc进行调试
- C/C++:打印(配置)头文件的内容
- 配置:错误:找不到 MySQL 包含目录
- 安装 psutil 和为 pypy 配置期间出错
- 叮当格式化程序多行格式配置错误
- 使用 Eclipse CDT 进行 Cplex 配置
- 尝试构建 pkg 配置
- g++:错误:`pkg配置:没有这样的文件或目录
- 无法使用pkg配置在VSCode中启动外部程序