在MinGW中更改pkg-config的PKG_CONFIG_PATH

时间:2012-03-22 13:53:59

标签: c compilation mingw pkg-config

我想更改pkg-config查找.pr个文件的目录。我在Windows上使用MinGW下的pkg-config。我发现可以通过使用export PKG_CONFIG_PATH=[path]更改PKG_CONFIG_PATH环境变量来完成此操作。我希望.pr找到的pkg-config文件没有安装在MinGW目录中,而是安装在“普通”Windows文件系统中的某个位置(C:\ Program Files(x86)\ Gtk + \ lib \ pkgconfig)

现在我的问题:如果我运行export PKG_CONFIG_PATH="/c/Program Files (x86)/Gtk+/lib/pkg-config/然后运行pkg-config --cflags gtk+-win32-2.0,我会得到以下输出。

$ pkg-config --cflags gtk+-win32-2.0 --debug
Option --debug seen
Error printing enabled by default due to use of --version, --libs, --cflags, --libs-only-l, --libs-only-L, --libs-only-other, --cflags-only-I, --cflag
s-only-other or --list. Value of --silence-errors: 0
Error printing enabled
Adding virtual 'pkg-config' package to list of known packages
Cannot open directory 'c' in package search path: No such file or directory
Cannot open directory '/Program Files (x86)/Gtk+/lib/pkgconfig/' in package search path: No such file or directory
Scanning directory '/usr/lib/pkgconfig'
Ignoring file '.' in search directory; not a .pc file
Ignoring file '..' in search directory; not a .pc file

那么如何指定.pr文件的路径,以便pkg-config可以找到它?如果我在MinGW目录中安装.pr文件,则无需更改环境变量即可找到它们。

1 个答案:

答案 0 :(得分:1)

不,您应该在main.o Makefile目标中使用$(GTK_COMPILE)而不是$(GTK_LINK)。 $(GTK_COMPILE)调用pkg-config --cflags,它将返回您需要编译的CFLAGS(头文件的位置)。您需要链接的LIBS,而不是编译