分页: 1 / 1

'pkg-config --cflags --libs gtk+-2.0' no such file

发表于 : 2013-04-23 6:27
johnnr
想编译gtk程序,

代码: 全选

gcc -o base base.c  'pkg-config --cflags --libs gtk+-2.0'
出错。说没'pkg-config --cflags --libs gtk+-2.0'这个文件。我是在dos下做的,pkg-config所在文件的目录已经在系统path里,dos里可以执行。
在gcc命令行里却不行。可能这个gcc for win不支持这种形式吧?

在dos里执行:

代码: 全选

pkg-config --cflags --libs gtk+-2.0>1
得到1文件,内容如下:

代码: 全选

-mms-bitfields -Ic:/gtk/include/gtk-2.0 -Ic:/gtk/lib/gtk-2.0/include -Ic:/gtk/include/atk-1.0 -Ic:/gtk/include/cairo -Ic:/gtk/include/gdk-pixbuf-2.0 -Ic:/gtk/include/pango-1.0 -Ic:/gtk/include/glib-2.0 -Ic:/gtk/lib/glib-2.0/include -Ic:/gtk/include -Ic:/gtk/include/freetype2 -Ic:/gtk/include/libpng14  -Lc:/gtk/lib -lgtk-win32-2.0 -lgdk-win32-2.0 -latk-1.0 -lgio-2.0 -lpangowin32-1.0 -lgdi32 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lglib-2.0 -lintl  
把上面内容放到gcc -o base base.c 后面,编译出执行文件。我的第一个gtk窗口。源码如下:

代码: 全选

/* 最简单的窗口base.c */ 
#include <gtk/gtk.h> 
int main ( int argc , char* argv[]) 
{    
GtkWidget *window; 
    gtk_init(&argc,&argv); 
    window = gtk_window_new(GTK_WINDOW_TOPLEVEL); 
    gtk_widget_show(window); 
    gtk_main(); 
return FALSE; 
} 
以上程序来自《GTK+2.0 编程范例》
viewtopic.php?f=162&t=325819

求解。

谢谢

Re: 'pkg-config --cflags --libs gtk+-2.0' no such file

发表于 : 2013-04-23 7:47
cuihao
在dos下做的
DOS?Windows的命令行吧?

这一句:

代码: 全选

gcc -o base base.c  'pkg-config --cflags --libs gtk+-2.0'
首先,在Linux的shell下也是不行的,应该是(注意,不是单引号):

代码: 全选

gcc -o base base.c  `pkg-config --cflags --libs gtk+-2.0`
然后,我也确实不知道Windows的命令行支持这种格式。不是gcc for win支持与否的事,是shell支持不支持的事。

Re: 'pkg-config --cflags --libs gtk+-2.0' no such file

发表于 : 2013-04-23 8:38
johnnr
原来是左边第一个键,和~键共享的那个。还是有问题。要是shell不支持,就没办法了。

Re: 'pkg-config --cflags --libs gtk+-2.0' no such file

发表于 : 2013-04-23 20:33
YeLee
先新建一个文件叫'pkg-config --cflags --libs gtk+-2.0' 就不会有这错误了。 :em01 :em01 :em01