问题标签 [pkg-config]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - 使用 Jenkins、CMake 和 pkg-config 构建多个项目的首选方式?
我正在开发两个库 A 和 B,其中 B 取决于 A,它们都在自己的 Git 存储库中进行管理。这些库使用 CMake 构建并安装在标准 UNIX 目录中。在安装过程.pc
中,还会安装一个由pkg-config
. 库 B 用于pkg-config
查找库 A,因此有必要在系统范围内安装库 A,make install
或者将PKG_CONFIG_PATH
其设置为适当的目录。
现在,我使用 Jenkins 在远程机器上构建库 A。不幸的是,由于不满足依赖关系(pkg-config
找不到库 A) ,因此无法构建库 B。在预构建步骤中设置路径不起作用,因为命令在其自己的 shell 中运行。
问题是
- 我可以以某种方式
make install
图书馆A吗?或者, - 我可以以某种方式指向 CMake
/var/lib/jenkins/jobs/libA/install_dir/lib
吗? - 有没有更好的方法来构建具有相互依赖的库的项目?
centos - 规范文件中的 pkgconfig(alsa) 无法识别已安装的 alsa、alsa-devel
我正在尝试在 CentOS 5.6 上构建 qt,但由于系统没有所需的库而失败。
我正在尝试使用 Fedora qt 源 rpm 文件中的源文件和规范文件进行构建。
$ rpmbuild -ba qt.spec
失败消息如下所示,
但是上面的大部分(alsa-devel,fontconfig ...等)已经安装了。和 .pc 文件位于 '/usr/lib64/pkgconfig/'
我认为 rpmbuild 无法识别 'pkgconfig(...)'。
有人可以知道原因吗?请帮帮我~
提前致谢。
gstreamer - pkg-config 不显示 gstreamer-plugins-bad
我正在尝试使用 rtmpsrc 插件编写一个程序,该插件属于 gstreamer 的不良插件。我阅读了有关使用 pkg-config 工具编译 gstreamer 坏插件程序的文章,因此我尝试使用“pkg-config --list-all”将所有已知软件包列出到我系统上的 pkg-config 中,其中不包括对gstreamer-plugins-bad-0.10 这是否意味着我无法在我的机器上编译 gstreamer bad plugin 程序?
macos - pkg-config 和 OSX 10.8,正确的 PKG_CONFIG_PATH?缺少 .pc 文件?
我在 OSX 中使用 homebrew 安装了 pkg-config。我不确定我应该将 PKG_CONFIG_PATH 设置为什么?它应该是 /usr/include 和 /usr/local/include 的组合吗?即使我使用其中一个,我也会收到关于没有任何 .pc 文件的错误,我认为它会包含 pkg-config 使用的信息?不知道我做错了什么。帮助表示赞赏。
更新:所以也许我在问两个不同的问题。我只是卷曲 gsl 并运行了 ./configure && make && sudo make install。而对于一个空的 $PKG_CONFIG_PATH 我实际上得到了一个打击:
但是列出 /usr/local/lib 会显示 gsl 库但没有 .pc 文件。pkg-config 如何适用于 OSX 中的自定义安装包,但不适用于默认安装的包???
c++ - 在 Makefile 中查找 Boost 库
在构建过程中包含 Boost 库的最佳实践是什么?
为了说明,假设我们的项目使用了 Boost 的正则表达式,编译如下:
...这意味着我可以编写一个只包含以下内容的 Makefile:
不幸的是,这在我的系统上不起作用:
这是可以理解的,因为我没有指定库路径,并且 Boost 安装在编译器找不到的位置。
显然,我不想在我的 Makefile 中对该路径进行硬编码。否则,项目无法在其他机器上构建。
一种解决方案是设置LD_LIBRARY_PATH
,但不鼓励这样做。
普通库的“真正”解决方案是使用pkg-config
,例如:
......这被解决为类似的东西-L/path/to/sqlite/lib -lsqlite3
。
不幸的是,Boost 仍然不支持pkg-config
.
这让我进退两难。似乎没有确定 Boost 库安装路径的通用方法。其他项目如何处理这个问题?
(有人建议使用环境变量BOOST_ROOT
,但这似乎也不是普遍存在的,您需要在 bashrc/profile 文件之一中手动设置它。)
linux - Linux glib 需要 pkg-config 和 pkg-config 需要 glib?
我尝试安装udev。并且 udev 在./configure
好的,缺少 pkg-config 和 glib-2.0。
起初我尝试安装 pkg-config。我收到了这条消息:
好的,我解释说,那个 glib 不见了。
下一步安装 Glib。
我收到了这条消息:
但我现在很困惑。他们需要彼此吗?我的错误是什么?
linux - 使用 CMake 查找 libffi 头文件
我需要 libffi 来构建我的 C++ 项目。问题是不存在用于查找 libffi 的预制脚本,并且 ffi.h 位于奇怪的位置,具体取决于库的版本和 Linux 发行版。
这是我的尝试:
但它显然不起作用,因为 Find_Path() 不会递归搜索。如何做得更好?
我尝试使用 CMake 的 pkg-config 模块,但 pkg-config 也找不到它。
[ethon@Fleckstation 论文]$ pkg-config --cflags libffi 在 pkg-config 搜索路径中找不到包 libffi。也许您应该将包含 `libffi.pc' 的目录添加到 PKG_CONFIG_PATH 环境变量中没有找到包 'libffi'
谢谢!
build - 如何使用 automake 链接两个库,一个是动态的,另一个是静态的?
假设我想将foo应用程序与bar和baz库链接。两者都支持 pkg-config 并提供 .pc 文件。我想动态链接的bar库和我想静态链接的baz库。如何使用automake实现这一目标?
我当前的设置以动态方式链接它们,如下所示:
xcode - 我可以在 XCode 中使用 pkg-config 命令吗?
我曾经有一个这样的编译行:
但是在 XCode 中,我必须设置包含路径、库路径和我想要链接的具体 .dylib。如果我更改库版本,我必须手动重新填充所有 .dylib。一旦我可以使用pkg-config
.
那么您知道任何方式pkg-config
(或一些适当的替代方案)可以与 XCode 项目一起使用吗?