问题标签 [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.
autotools - PKG_CHECK_MODULES 认为有害吗?
各种开发人员不鼓励使用PKG_CHECK_MODULES
(例如,在这个答案中),但就我所寻找的原因而言,没有明确、全面的解释。所以,我问:
- 为什么会
PKG_CHECK_MODULES
有害? - 有哪些替代方案?
我,首先,今天第一次使用它。我发现它非常有用,特别是对于处理非常复杂的库集,例如 GTK+,我有所有这些依赖项:
linux - 为什么 pkg-config 不在库名称前输出“-l”?
当我使用 pkg-config --libs 时,输出包含对库的许多引用。但是,其中一些库前面没有“-l”,因此链接器不知道如何处理该名称。例如,我将得到输出:stdc++ 而不是 -lstdc++
什么会导致 pkg-config 这样做?
另外,pkg-config 从哪里得到它的信息?手册页说它使用“前缀”目录中的 .ps 文件。但是这些前缀目录在哪里?
-安德烈斯
c++ - Mac OS Lion 上使用 pkg-config 包含目录的反斜杠
晚上好大家,
我几乎没有使用 pkg-config 的经验,但似乎我必须在使用 openssl 时使用它。我在 Mac 上,这可能很重要。
问题是:
我编译我的测试程序
/li>- 我已经编译了 openssl 并将其安装在 ~/openssl 中,然后将 ~/openssl/lib/pkgconfig 添加到 PKG_CONFIG_PATH
- 因为我想使用最新版本而不是预装的版本,所以我在每次编译时都指定了选项
- 运行的结果
pkg-config --libs
orpkg-config --cflags openssl
是-L\~/openssl/lib -lssl -lcrypto
这向我提出了一个问题,为什么会有一个反斜杠以及我的编译版本是使用还是预装的,如果是第一个,我怎么可能解决这个问题......
任何形式的帮助表示赞赏
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 环境变量就可以了。这并不难
看看这个。感谢您阅读并帮助我.. :)
linux - 在 OSX 10.6 上安装 pkg-config
请原谅一个非 linux 人的问题。
我正在尝试在 OSX 10.6 上构建一些需要 pkg-config 的源代码。我找到了很多关于如何做到这一点的说明,但它们都需要编译 pkg-config,而且每组说明都会出现各种错误。
如果我知道更多的 linux 命令,我相信它会很简单,但是时间期限太长了,我宁愿不成为创建和安装 Linux 工具的专家。如果有一位 linux 大师可以指导我,将不胜感激。
bash - Eclipse CDT:pkg-config 索引
我正在使用 gtkmm 和 eclipse 开发一个应用程序。虽然我可以手动设置 gtkmm 包含路径和链接选项,但由于引用的项目数量巨大,我决定让 pkg-config 完成这项工作。这很容易,因为将适当的 pkg-config 命令添加到编译器调用就可以了,因为可以简单地使用
shell替换,因为eclipse会生成一个makefile,然后执行。
但是,设置索引器权限并不是那么容易。eclipse 不是在解释器中执行 shell 脚本,而是直接执行编译器并直接传递命令行参数,而不用之前替换它们。
执行索引器时如何执行 shell 脚本?
compilation - 在 linux 中针对修改后的库进行编译
我已经针对 ubuntu 中预构建的 libavcodec 库编译了 mplayer2。它在特定条件下崩溃。
判断我吐出的错误消息,问题出在 libavcodec 上。所以我想做的是尝试一些 libavcodec 代码。即编译我自己的libavcodec 版本,然后针对它编译mplayer2。
pkg-config 将指向从 ubuntu 的 apt-get 安装的 libavcodec 库。如何将它指向我自己的 libavcodec 版本?或者告诉配置脚本使用我的版本?
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 上检查它(是否存在)。
任何帮助将不胜感激。
gcc - pkg-config:包含 C 和 C++ 的路径
是否可以在 pkg-config 文件 () 中指定 C 和 C++ 的包含路径mylib.pc.in
?
我知道我有Cflags
可以传递任何编译器标志的字段,但它是通用的,并autoconf
通过放置我的所有选项来解决它,只要包含路径 in X_CFLAGS
but not X_CXXFLAGS
.
因此,如果我有一个包含 C 和 C++ 文件的项目并在以下位置指定Makefile.am
:
我的 C++ 文件看不到包含路径!在下面的示例中,mylib.pc.in
包含Cflags: -I/my/iclude/path/
.
编译 C 文件的输出:
编译 C++ 文件的输出(注意缺少-I/my/iclude/path/
):
任何帮助将不胜感激。谢谢!
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 文件中包含依赖于目标的变量的方法。
我想我会在这里问这个问题如何解决。