如何编译gtk程序?

lei_lei 2002-10-31 06:37:56
我的第一个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,之前我在其上也编译过这个程序,没有问题,
这次却出问题了.
请大虾们帮忙!
...全文
220 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
blh 2002-10-31
  • 打赏
  • 举报
回复
-o 后要更一个目标文件名,不是元文件名,呵呵

gcc t.cc -o t `pkg-config --cflags --libs gtk+-2.0`

执行:./t
zuo3 2002-10-31
  • 打赏
  • 举报
回复
同意楼上所说,-o 后加的是可执行文件名.
x86 2002-10-31
  • 打赏
  • 举报
回复
嘿嘿,你在-o后面直接加t.cc当然不对啦,-o后面跟输出,结果就是先删除t.cc,当然编译不了了。

应该这样:
g++ `pkg-config --cflags --libs gtk+-2.0` -o t t.cc
lei_lei 2002-10-31
  • 打赏
  • 举报
回复
分不够我还可以再给.

23,118

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧