如何编译gtk程序?
我的第一个gtk程序如下(t.cc):
********************************************************
#include <gtk/gtk.h>
int main(int argc, char *argv[]){
GtkWidget *w;
gtk_init(&argc,&argv);
w = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_widget_show(w);
gtk_main();
return 1;
}
*********************************************************
编译命令:
gcc `pkg-config --cflags --libs gtk+-2.0` -o t.cc
*********************************************************
反馈的错误信息如下:
/usr/lib/gcc-lib/i386-redhat-linux/3.2/../../../crt1.o: In function `_start':
/usr/lib/gcc-lib/i386-redhat-linux/3.2/../../../crt1.o(.text+0x18): undefined reference to `main'
collect2: ld returned 1 exit status
**********************************************************
这是什么原因,我改怎么办?
我的系统是Redhat8.0,之前我在其上也编译过这个程序,没有问题,
这次却出问题了.
请大虾们帮忙!
问题点数:100、回复次数:4Top
1 楼lei_lei(五天不见)回复于 2002-10-31 17:00:41 得分 0
分不够我还可以再给.Top
2 楼x86(大雪)回复于 2002-10-31 17:25:45 得分 40
嘿嘿,你在-o后面直接加t.cc当然不对啦,-o后面跟输出,结果就是先删除t.cc,当然编译不了了。
应该这样:
g++ `pkg-config --cflags --libs gtk+-2.0` -o t t.ccTop
3 楼zuo3(云晶)回复于 2002-10-31 17:38:37 得分 30
同意楼上所说,-o 后加的是可执行文件名.Top
4 楼blh(当你不割肉时,你的损失只是个数字,当你割肉时,你的损失就是你的肉)回复于 2002-10-31 19:51:37 得分 30
-o 后要更一个目标文件名,不是元文件名,呵呵
gcc t.cc -o t `pkg-config --cflags --libs gtk+-2.0`
执行:./tTop





