编译gtk+程序遇到问题!~
给你个例子试试能通过吗,
window.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_window_set_title(GTK_WINDOW(window),"最简单的窗口");
gtk_window_set_position(GTK_WINDOW(window),GTK_WIN_POS_CENTER);
gtk_signal_connect(GTK_OBJECT(window),"destroy",GTK_SIGNAL_FUNC(gtk_main_quit),NULL);
gtk_widget_show(window);
gtk_main();
return FALSE;
}
Makefile:
cc = gcc
all:
$(cc) -Wall -o window window.c `pkg-config --cflags --libs gtk+-2.0`
将上边的Windows下保存为windows.c文件,Makefile下的内容为Makefile文件,和windows.c保存在同一目录,然后运行make && ./window
如果成功就证明Gtk环境配置没什么问题。。你说的那个我不太清楚,可以把源文件发出来看看。。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
在编译的时候要注意以下2点:
1、检查自己的linux版本中的gtk是1.0还是2.0的,不同的版本编译的时候后缀不同
2、后缀是用Esc下方的那个键,而不是单引号,这一点对新手来说很容易弄错,并且很长时间也不知道自己什么地方错了。
这种情况,可以先在控制台运行:pkg-config --libs gtk+-2.0,pkg-config --cflags gtk+-2.0,
将输出信息加载到Makefile里面.
具体在makefile里面设置个变量。大概象下面的.
var=-lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lfontconfig -lXext -lXrender -lXinerama -lXi -lXrandr -lXcursor -lXcomposite -lXdamage -lpango-1.0 -lcairo -lX11 -lXfixes -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0
......
gcc -o window window.c $(var)
......
就可以了。