如何在 Windows 上为 pkg-config 编写 *.pc 文件?
我最近下载了从 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
多合一包附带的 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.