问题标签 [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 投票
1 回答
9016 浏览

ubuntu - 如何在 ubuntu 的 PKG_CONFIG_PATH 变量中设置目录

我想在 PKG_CONFIG_PATH 变量中添加一个包含 .pc 文件的目录,这是某个程序在 Ubuntu 上运行所必需的。我试图从谷歌找到一个解决方案,但它并没有真正奏效。

我在这里粘贴日志。请帮忙。

0 投票
2 回答
2996 浏览

windows - 如何在 .cabal 中指定对外部 C 库的依赖?

我在 Hackage 上维护了一个带有 FFI 绑定的库。所以我的 Haskell 库依赖于对应的 C 库及其头文件。现在我在.cabal文件中指定外部依赖项,如下所示:

它在 Linux 中对我很有效。但是,我有一个库的用户报告说,pkg-config在 Windows 上安装相当麻烦,相反他更喜欢

我希望我的库尽可能易于构建,并且不想强制构建并非严格要求的依赖项。但是,我看到Cabal 手册建议使用PkgConfig-Depends.

我的问题:

  • 对于跨平台软件包,我应该更喜欢哪种方式?
  • 是否有可能以.cabal这样的方式编写文件,它可以使用pkg-config和不使用?
  • 而且,顺便说一句,pkg-config包含在 Haskell 平台中(我现在没有要检查的 Windows 机器)?
0 投票
1 回答
1682 浏览

windows - 如何在 Windows 上为 pkg-config 编写 *.pc 文件?

我最近下载了从GTK+ 网站下载的 gtk+ all-in-one bundle ,它运行良好,允许我使用 MinGW 编译器在 Windows 上构建 gtk+ 应用程序。

但是,当现在查看 lib/pkgconfig 中 pkg-config 的 *.pc 文件时,我发现了一些奇怪的东西。以下是 glib-2.0 开头的样子:

我的 gtk+ 文件夹与 C:\ 位于不同的驱动器上,而且我根本没有 C:\devel 文件夹。那么这个前缀代表什么?如果我决定编写一个 *.pc 文件来轻松链接我自己的应用程序,我会使用什么前缀?

令人惊讶的是,使用pkg-config 可以按预期工作,并返回 gtk+ 文件夹内的库和头文件的正确路径。

0 投票
1 回答
867 浏览

scons - 使用 Scons、bjam 和/或 cmake 自动生成包配置文件

嘿 Stackoverflowers:一个评论和一个问题。

评论:你们很棒,谢谢你的关注。

问题:

Bjam、Scons 或 Cmake 可以轻松地为库项目安装 .pc 文件吗?

我发现我必须在我的 scons/bjam/make 文件、.pc 文件(用于库)和 rpm/deb 包配置文件中维护相同的库依赖项列表,这真的很烦人。

如果构建工具可以管理构建和安装元数据,那就太好了。

想法?

0 投票
2 回答
3604 浏览

haskell - 无法在 Windows 上使用 cabal 安装 cairo - 如何在 win 上获取 pkg-config?

那么如何在 Windows 上获取 pkg-config 或如何安装 cairo 呢?

0 投票
4 回答
49650 浏览

ubuntu - 没有找到包'lua',但我已经安装了它

我正在尝试在Ubuntu 10.4 LTS上安装Lsyncd ,但出现一些错误:

或者我知道我已经安装了Lua

我在几个论坛上读到我需要一个 lua.pc 文件,但我找不到它。有谁知道如何进行?

谢谢

编辑:已解决

一些包裹丢失了;)

0 投票
1 回答
10386 浏览

c - 使用 dbus 头文件编译 C 程序

我正在尝试在 Ubuntu 上使用以下标头编译 C 程序:http://pastebin.com/SppCXb0U。起初我一点运气都没有,但在阅读了 pkg-config 之后,我制作了这一行:

但是,它仍然不起作用并给我这个错误:

我不知道从这里做什么。

====================================

一个很好的解释-谢谢。但是,我无法让它工作。运行上面的命令(添加)会产生以下结果

0 投票
0 回答
218 浏览

pkg-config - 如何处理 pkg-config 中的替代后端依赖项?

我有一个分为前端和多个后端的库。客户端程序必须链接到前端库和一个后端库。当为前端调用 pkg-config 时,我希望 pkg-config 强制指定某些后端。

我们称前端为 libfoo-frontend,后端为 libfoo-backend-alpha 和 libfoo-backend-beta。

一个明显的解决方案似乎是反转依赖关系——让每个后端都有“要求:libfoo-frontend”。但是,这不起作用,因为 pkg-config 将在 libfoo-frontend 标志之前给出 libfoo-backend 标志。即,我们最终会得到一个带有“-lfoo-backend-alpha -lfoo-frontend”的链接命令行,并且链接器最终不会包含 libfoo-backend-alpha,因为它不满足任何未满足的依赖项前面的对象,然后当 libfoo-frontend 中的依赖项未满足时将失败。

我目前的解决方案是 pkg-config 规范没有指定前端和后端之间的依赖关系。由用户来链接前端和一些后端。缺点是用户必须知道这是必需的,如果他们忘记链接到后端,他们将导致链接失败并出现未满足的依赖关系,这是相对缺乏信息的。

我希望的一个解决方案是让前端规范有一行像'Requires:libfoo-backend',所有后端pkg-config规范都有一行像'Provides:libfoo-backend'。然后,用户将执行类似“pkg-config --libs libfoo-frontend libfoo-backend-beta”的操作。如果用户忘记指定某个后端,pkg-config 会抱怨以提醒他们。不幸的是,pkg-config 没有这样的 'Requires' 关键字。

0 投票
3 回答
8216 浏览

pkg-config - gtk-2.0 的 pkgconfig 选项

GCC 正在返回以下错误

使用find /usr -name 'gdk.h'我能够在

我猜这个错误是由于编译器没有在寻找目录这一事实引起的gtk-2.0gdk尽管我可能会误会这一点。如果我是正确的,那么pkgconfig选项是什么gtk-2.0,如果我错了,我真的做错了什么?

0 投票
4 回答
4666 浏览

fuse - pkg-config --exists 熔断器失败

我正在尝试安装 fuse-python 包,当我运行时

它失败了,当我检查 setup.py 的内容时,我发现了这一行

这条线失败了。另外,当我检查 PKG_CONFIG_PATH

它什么也没打印。任何形式的帮助表示赞赏。提前致谢