问题标签 [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.
ubuntu - 如何在 ubuntu 的 PKG_CONFIG_PATH 变量中设置目录
我想在 PKG_CONFIG_PATH 变量中添加一个包含 .pc 文件的目录,这是某个程序在 Ubuntu 上运行所必需的。我试图从谷歌找到一个解决方案,但它并没有真正奏效。
我在这里粘贴日志。请帮忙。
windows - 如何在 .cabal 中指定对外部 C 库的依赖?
我在 Hackage 上维护了一个带有 FFI 绑定的库。所以我的 Haskell 库依赖于对应的 C 库及其头文件。现在我在.cabal
文件中指定外部依赖项,如下所示:
它在 Linux 中对我很有效。但是,我有一个库的用户报告说,pkg-config
在 Windows 上安装相当麻烦,相反他更喜欢
我希望我的库尽可能易于构建,并且不想强制构建并非严格要求的依赖项。但是,我看到Cabal 手册建议使用PkgConfig-Depends
.
我的问题:
- 对于跨平台软件包,我应该更喜欢哪种方式?
- 是否有可能以
.cabal
这样的方式编写文件,它可以使用pkg-config
和不使用? - 而且,顺便说一句,
pkg-config
包含在 Haskell 平台中(我现在没有要检查的 Windows 机器)?
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+ 文件夹内的库和头文件的正确路径。
scons - 使用 Scons、bjam 和/或 cmake 自动生成包配置文件
嘿 Stackoverflowers:一个评论和一个问题。
评论:你们很棒,谢谢你的关注。
问题:
Bjam、Scons 或 Cmake 可以轻松地为库项目安装 .pc 文件吗?
我发现我必须在我的 scons/bjam/make 文件、.pc 文件(用于库)和 rpm/deb 包配置文件中维护相同的库依赖项列表,这真的很烦人。
如果构建工具可以管理构建和安装元数据,那就太好了。
想法?
haskell - 无法在 Windows 上使用 cabal 安装 cairo - 如何在 win 上获取 pkg-config?
那么如何在 Windows 上获取 pkg-config 或如何安装 cairo 呢?
ubuntu - 没有找到包'lua',但我已经安装了它
我正在尝试在Ubuntu 10.4 LTS上安装Lsyncd ,但出现一些错误:
或者我知道我已经安装了Lua:
我在几个论坛上读到我需要一个 lua.pc 文件,但我找不到它。有谁知道如何进行?
谢谢
编辑:已解决
一些包裹丢失了;)
c - 使用 dbus 头文件编译 C 程序
我正在尝试在 Ubuntu 上使用以下标头编译 C 程序:http://pastebin.com/SppCXb0U。起初我一点运气都没有,但在阅读了 pkg-config 之后,我制作了这一行:
但是,它仍然不起作用并给我这个错误:
我不知道从这里做什么。
====================================
一个很好的解释-谢谢。但是,我无法让它工作。运行上面的命令(添加)会产生以下结果
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' 关键字。
pkg-config - gtk-2.0 的 pkgconfig 选项
GCC 正在返回以下错误
使用find /usr -name 'gdk.h'
我能够在
我猜这个错误是由于编译器没有在寻找目录这一事实引起的gtk-2.0
,gdk
尽管我可能会误会这一点。如果我是正确的,那么pkgconfig
选项是什么gtk-2.0
,如果我错了,我真的做错了什么?
fuse - pkg-config --exists 熔断器失败
我正在尝试安装 fuse-python 包,当我运行时
它失败了,当我检查 setup.py 的内容时,我发现了这一行
这条线失败了。另外,当我检查 PKG_CONFIG_PATH
它什么也没打印。任何形式的帮助表示赞赏。提前致谢