问题标签 [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.

0 投票
2 回答
1752 浏览

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吗?
  • 有没有更好的方法来构建具有相互依赖的库的项目?
0 投票
2 回答
1815 浏览

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(...)'。

有人可以知道原因吗?请帮帮我~

提前致谢。

0 投票
1 回答
640 浏览

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 程序?

0 投票
2 回答
16827 浏览

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 中的自定义安装包,但不适用于默认安装的包???

0 投票
1 回答
3170 浏览

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 文件之一中手动设置它。)

0 投票
4 回答
36455 浏览

linux - Linux glib 需要 pkg-config 和 pkg-config 需要 glib?

我尝试安装udev。并且 udev 在./configure

好的,缺少 pkg-config 和 glib-2.0。

起初我尝试安装 pkg-config。我收到了这条消息:

好的,我解释说,那个 glib 不见了。

下一步安装 Glib。

我收到了这条消息:

但我现在很困惑。他们需要彼此吗?我的错误是什么?

0 投票
2 回答
1537 浏览

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'

谢谢!

0 投票
1 回答
283 浏览

build - 如何使用 automake 链接两个库,一个是动态的,另一个是静态的?

假设我想将foo应用程序与barbaz库链接。两者都支持 pkg-config 并提供 .pc 文件。我想动态链接的bar库和我想静态链接的baz库。如何使用automake实现这一目标?

我当前的设置以动态方式链接它们,如下所示:

0 投票
4 回答
41273 浏览

homebrew - 如何修复“brew install pkg-config”?

0 投票
0 回答
297 浏览

xcode - 我可以在 XCode 中使用 pkg-config 命令吗?

我曾经有一个这样的编译行:

但是在 XCode 中,我必须设置包含路径、库路径和我想要链接的具体 .dylib。如果我更改库版本,我必须手动重新填充所有 .dylib。一旦我可以使用pkg-config.

那么您知道任何方式pkg-config(或一些适当的替代方案)可以与 XCode 项目一起使用吗?