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

发布于 2024-10-17 03:29:37 字数 576 浏览 2 评论 0原文

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

然而,当现在查看 lib/pkgconfig 中 pkg-config 的 *.pc 文件时,我注意到一些奇怪的事情。 glib-2.0 的开头是这样的:

prefix=c:/devel/target/059c48de6b739307c37648aba3005b29
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include

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

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

I've recently downloaded the gtk+ all-in-one bundle downloaded from the GTK+ website, which works fine and allows me to build gtk+ applications on Windows using the MinGW compiler.

However, when now looking at the *.pc files for pkg-config in lib/pkgconfig, I noticed something weird. Here's how the beginning of glib-2.0 looks like:

prefix=c:/devel/target/059c48de6b739307c37648aba3005b29
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include

My gtk+ folder resides on a different drive than C:\ and I don't have a C:\devel folder at all. So what does this prefix stand for? What prefix would I use if I decided to write a *.pc file for easily linking my own application?

Surprisingly enough, using pkg-config works as expected and returns the correct path the libraries and headers inside the gtk+ folder.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

平生欢 2024-10-24 03:29:37

多合一包附带的 pkg-config 版本基本上忽略了前缀。它知道在 ../lib/pkgconfig 中查找 pkg-config 文件。您无需对 pkgconfig 文件执行任何特殊操作,只需将它们放入 pkgconfig 目录中,设置一些环境变量,以便 pkg-config 知道在哪里查找您的 *.pc 文件。

The version of pkg-config that comes with the all in one package basically ignores the prefix. It knows to look in ../lib/pkgconfig for the pkg-config files. You don't need to do anything special for your pkgconfig files other than either put them in that pkgconfig directory, or set some environment variables so pkg-config knows where to look for your *.pc files.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文