问题标签 [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 回答
22476 浏览

autotools - PKG_CHECK_MODULES 认为有害吗?

各种开发人员不鼓励使用PKG_CHECK_MODULES(例如,在这个答案中),但就我所寻找的原因而言,没有明确、全面的解释。所以,我问:

  • 为什么会PKG_CHECK_MODULES有害?
  • 有哪些替代方案?

我,首先,今天第一次使用它。我发现它非常有用,特别是对于处理非常复杂的库集,例如 GTK+,我有所有这些依赖项:

0 投票
1 回答
122 浏览

linux - 为什么 pkg-config 不在库名称前输出“-l”?

当我使用 pkg-config --libs 时,输出包含对库的许多引用。但是,其中一些库前面没有“-l”,因此链接器不知道如何处理该名称。例如,我将得到输出:stdc++ 而不是 -lstdc++

什么会导致 pkg-config 这样做?

另外,pkg-config 从哪里得到它的信息?手册页说它使用“前缀”目录中的 .ps 文件。但是这些前缀目录在哪里?

-安德烈斯

0 投票
1 回答
203 浏览

c++ - Mac OS Lion 上使用 pkg-config 包含目录的反斜杠

晚上好大家,

我几乎没有使用 pkg-config 的经验,但似乎我必须在使用 openssl 时使用它。我在 Mac 上,这可能很重要。

问题是:

  • 我编译我的测试程序

    /li>
  • 我已经编译了 openssl 并将其安装在 ~/openssl 中,然后将 ~/openssl/lib/pkgconfig 添加到 PKG_CONFIG_PATH
  • 因为我想使用最新版本而不是预装的版本,所以我在每次编译时都指定了选项
  • 运行的结果pkg-config --libsorpkg-config --cflags openssl-L\~/openssl/lib -lssl -lcrypto

这向我提出了一个问题,为什么会有一个反斜杠以及我的编译版本是使用还是预装的,如果是第一个,我怎么可能解决这个问题......

任何形式的帮助表示赞赏

0 投票
1 回答
9054 浏览

windows - 在 Windows 中使用 pkg-config 查找库

我正在尝试使用 pkg-config 在 Windows (msvc) 中找到 gstreamer 库

pkg-config gstreamer-0.10 --cflags --libs

但我得到了这样的结果

安装库时会创建一个 .pc 之类的文件(通过使用 RPM、deb 或其他二进制打包系统或从源代码编译自动创建)。我在我的 gstreamer 目录中找不到 .pc 文件。

我是否应该创建一个包含所有必要细节的 .pc 文件。

或者还有其他方法可以做到这一点,或者我错过了什么?

希望您能提供帮助。感谢您花时间阅读问题。

好吧,我这样做是为了找到解决方案,为什么我not found在为 gstreamer 配置的 waf 中收到消息

该代码适用于linux,也应该适用于windows。


稍后添加

制作 .pc 并将 .pc 目录的路径设置为 PKG_CONFIG_PATH 环境变量就可以了。这并不难

看看这个。感谢您阅读并帮助我.. :)

0 投票
1 回答
5900 浏览

linux - 在 OSX 10.6 上安装 pkg-config

请原谅一个非 linux 人的问题。

我正在尝试在 OSX 10.6 上构建一些需要 pkg-config 的源代码。我找到了很多关于如何做到这一点的说明,但它们都需要编译 pkg-config,而且每组说明都会出现各种错误。

如果我知道更多的 linux 命令,我相信它会很简单,但是时间期限太长了,我宁愿不成为创建和安装 Linux 工具的专家。如果有一位 linux 大师可以指导我,将不胜感激。

0 投票
1 回答
287 浏览

bash - Eclipse CDT:pkg-config 索引

我正在使用 gtkmm 和 eclipse 开发一个应用程序。虽然我可以手动设置 gtkmm 包含路径和链接选项,但由于引用的项目数量巨大,我决定让 pkg-config 完成这项工作。这很容易,因为将适当的 pkg-config 命令添加到编译器调用就可以了,因为可以简单地使用

shell替换,因为eclipse会生成一个makefile,然后执行。

但是,设置索引器权限并不是那么容易。eclipse 不是在解释器中执行 shell 脚本,而是直接执行编译器并直接传递命令行参数,而不用之前替换它们。

执行索引器时如何执行 shell 脚本?

0 投票
0 回答
73 浏览

compilation - 在 linux 中针对修改后的库进行编译

我已经针对 ubuntu 中预构建的 libavcodec 库编译了 mplayer2。它在特定条件下崩溃。

判断我吐出的错误消息,问题出在 libavcodec 上。所以我想做的是尝试一些 libavcodec 代码。即编译我自己的libavcodec 版本,然后针对它编译mplayer2。

pkg-config 将指向从 ubuntu 的 apt-get 安装的 libavcodec 库。如何将它指向我自己的 libavcodec 版本?或者告诉配置脚本使用我的版本?

0 投票
4 回答
29846 浏览

macos - pkg-config 找不到 .pc 文件,尽管它们在路径中

我在 Mac OSX-Lion 上看到 pkg-config 的一个奇怪问题。为我下载的模块运行 python 设置时,我收到以下错误:

但是,当检查 /usr/local/lib 文件夹时,我看到 libs 和 .pc 文件位于 pkgconfig 子文件夹中

使用命令行将 PKG_CONFIG_PATH 设置为指向 /usr/local/lib/ 没有帮助。出于某种原因将其设置为 ~/.bash_profile 会使 pkg-config 无法识别为命令。

我的假设是我缺少一些依赖,但不确定是什么。在 Linux 上尝试相同的操作时,我错过了 Python 开发包 python2.7-dev 但我不确定如何在 Mac 上检查它(是否存在)。

任何帮助将不胜感激。

0 投票
1 回答
6339 浏览

gcc - pkg-config:包含 C 和 C++ 的路径

是否可以在 pkg-config 文件 () 中指定 C 和 C++ 的包含路径mylib.pc.in

我知道我有Cflags可以传递任何编译器标志的字段,但它是通用的,并autoconf通过放置我的所有选项来解决它,只要包含路径 in X_CFLAGSbut not X_CXXFLAGS.

因此,如果我有一个包含 C 和 C++ 文件的项目并在以下位置指定Makefile.am

我的 C++ 文件看不到包含路径!在下面的示例中,mylib.pc.in包含Cflags: -I/my/iclude/path/.

编译 C 文件的输出:

编译 C++ 文件的输出(注意缺少-I/my/iclude/path/):

任何帮助将不胜感激。谢谢!

0 投票
0 回答
99 浏览

ruby - pkg-config 中的项目因变量

我正在尝试帮助 Ruby 人员让代码在 AIX 上再次运行。Ruby 人正在尝试使用 pkg-config 来帮助用户编写模块。在 AIX 上,模块的最后一个链接需要指定入口点。在 Ruby 中,约定是将该入口点命名为 Init_foo,其中“foo”是要添加的模块。因此他们需要添加一个标志:-eInit_foo

但是由于 Init_foo 不是一个常数,当 ruby​​.pc 文件被提供给 pkg-config 时,pkg-config 会出错。我看不到在 pkg-config 文件中包含依赖于目标的变量的方法。

我想我会在这里问这个问题如何解决。