当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 8 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 帮忙,看下编译错误
帖子发表于 : 2007-05-13 20:23 

注册: 2006-11-27 20:13
帖子: 33
送出感谢: 0 次
接收感谢: 0 次
刚试着用了 下glade,编了 一个简单的界面,一个窗口,里面一个菜单,3个按钮,还有一个文本输入的控件,但是 都没写 那些信号处理的函数。。用glade生成了代码。。。然后我想只编译 下 生成的c源文件,想得到一个什么都不作的界面。
总共4个源文件callbacks.c ,,support.c ,,interface.c,,main.c..我用gcc编译,应该是先生成callback.o,,,support.o ,,interface.o和main.o。但是在各个编译的时候,都出现了错误 ,
下面是错误:

编译callbacks.c
gcc `pkg-config --cflags --libs gtk+-2.0` -o callbacks.o callbacks.c
错误:
/usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/crt1.o: In function `_start':
(.text+0x18): undefined reference to `main'
collect2: ld 返回 1
---------------------------------------------
编译support.c
gcc `pkg-config --cflags --libs gtk+-2.0` -c support.c -o support.o
错误 :
gcc: -lgtk-x11-2.0:未使用链接器输入文件,因为链接尚未完成
gcc: -lgdk-x11-2.0:未使用链接器输入文件,因为链接尚未完成
gcc: -latk-1.0:未使用链接器输入文件,因为链接尚未完成
gcc: -lgdk_pixbuf-2.0:未使用链接器输入文件,因为链接尚未完成
gcc: -lm:未使用链接器输入文件,因为链接尚未完成
gcc: -lpangocairo-1.0:未使用链接器输入文件,因为链接尚未完成
gcc: -lfontconfig:未使用链接器输入文件,因为链接尚未完成
gcc: -lXext:未使用链接器输入文件,因为链接尚未完成
gcc: -lXrender:未使用链接器输入文件,因为链接尚未完成
gcc: -lXinerama:未使用链接器输入文件,因为链接尚未完成
gcc: -lXi:未使用链接器输入文件,因为链接尚未完成
gcc: -lXrandr:未使用链接器输入文件,因为链接尚未完成
gcc: -lXcursor:未使用链接器输入文件,因为链接尚未完成
gcc: -lXfixes:未使用链接器输入文件,因为链接尚未完成
gcc: -lpango-1.0:未使用链接器输入文件,因为链接尚未完成
gcc: -lcairo:未使用链接器输入文件,因为链接尚未完成
gcc: -lX11:未使用链接器输入文件,因为链接尚未完成
gcc: -lgobject-2.0:未使用链接器输入文件,因为链接尚未完成
gcc: -lgmodule-2.0:未使用链接器输入文件,因为链接尚未完成
gcc: -ldl:未使用链接器输入文件,因为链接尚未完成
gcc: -lglib-2.0:未使用链接器输入文件,因为链接尚未完成
-----------------------------------------
编译interface.c
gcc `pkg-config --cflags --libs gtk+-2.0` -c interface.c -o interface.o
错误:
gcc: -lgtk-x11-2.0:未使用链接器输入文件,因为链接尚未完成
gcc: -lgdk-x11-2.0:未使用链接器输入文件,因为链接尚未完成
gcc: -latk-1.0:未使用链接器输入文件,因为链接尚未完成
gcc: -lgdk_pixbuf-2.0:未使用链接器输入文件,因为链接尚未完成
gcc: -lm:未使用链接器输入文件,因为链接尚未完成
gcc: -lpangocairo-1.0:未使用链接器输入文件,因为链接尚未完成
gcc: -lfontconfig:未使用链接器输入文件,因为链接尚未完成
gcc: -lXext:未使用链接器输入文件,因为链接尚未完成
gcc: -lXrender:未使用链接器输入文件,因为链接尚未完成
gcc: -lXinerama:未使用链接器输入文件,因为链接尚未完成
gcc: -lXi:未使用链接器输入文件,因为链接尚未完成
gcc: -lXrandr:未使用链接器输入文件,因为链接尚未完成
gcc: -lXcursor:未使用链接器输入文件,因为链接尚未完成
gcc: -lXfixes:未使用链接器输入文件,因为链接尚未完成
gcc: -lpango-1.0:未使用链接器输入文件,因为链接尚未完成
gcc: -lcairo:未使用链接器输入文件,因为链接尚未完成
gcc: -lX11:未使用链接器输入文件,因为链接尚未完成
gcc: -lgobject-2.0:未使用链接器输入文件,因为链接尚未完成
gcc: -lgmodule-2.0:未使用链接器输入文件,因为链接尚未完成
gcc: -ldl:未使用链接器输入文件,因为链接尚未完成
gcc: -lglib-2.0:未使用链接器输入文件,因为链接尚未完成
----------------------------------------
编译main.c
gcc `pkg-config --cflags --libs gtk+-2.0` -c main.c -o main.o
错误:
main.c:29: 错误: ‘PACKAGE_DATA_DIR’ 未声明 (在此函数内第一次使用)
main.c:29: 错误: (即使在一个函数内多次出现,每个未声明的标识符在其
main.c:29: 错误: 所在的函数内只报告一次。)
main.c:29: 错误: expected ‘)’ before string constant

-----------------------------------------

小弟就不知道怎么办了,希望大家能帮忙解答一下,谢谢了


页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2007-05-13 21:00 
头像

注册: 2006-07-14 18:56
帖子: 345
地址: Apple Valley, Planet Tux, Linux System
送出感谢: 0 次
接收感谢: 0 次
第一个是因为没带 -c 参数,gcc编译了callbacks.c之后,在连接的过程中找不到程序入口点报错。此时应该已经生成了callbacks.o文件,因为在编译过程中没有出错。

第二个和第三个是因为带了 -c 参数,gcc只编译而不连接,所以在pkgconfig中不需要使用--libs。

最后一个是编译时就出错了,可能是你的main.c中没有引用某些头文件,或者语法有问题。


页首
 用户资料  
 
3 楼 
 文章标题 :
帖子发表于 : 2007-05-14 9:03 
头像

注册: 2006-12-02 12:25
帖子: 689
送出感谢: 0 次
接收感谢: 0 次
建议用GLADE3,自己手写代码,使用libglade,呵呵。


_________________
Titainium


页首
 用户资料  
 
4 楼 
 文章标题 :
帖子发表于 : 2007-05-14 10:53 

注册: 2006-11-27 20:13
帖子: 33
送出感谢: 0 次
接收感谢: 0 次
5451vs5451 写道:
第一个是因为没带 -c 参数,gcc编译了callbacks.c之后,在连接的过程中找不到程序入口点报错。此时应该已经生成了callbacks.o文件,因为在编译过程中没有出错。

第二个和第三个是因为带了 -c 参数,gcc只编译而不连接,所以在pkgconfig中不需要使用--libs。

最后一个是编译时就出错了,可能是你的main.c中没有引用某些头文件,或者语法有问题。


恩,谢谢了,不过main.c还是没编译通过,不知道少什么了,再查查看吧


页首
 用户资料  
 
5 楼 
 文章标题 :
帖子发表于 : 2007-05-14 10:57 

注册: 2006-11-27 20:13
帖子: 33
送出感谢: 0 次
接收感谢: 0 次
titainium 写道:
建议用GLADE3,自己手写代码,使用libglade,呵呵。


哦?那换glade3看看有什么不同,用glade2不也是先生成界面,然后再添加一些回调函数吗?


页首
 用户资料  
 
6 楼 
 文章标题 :
帖子发表于 : 2007-05-14 11:00 
头像

注册: 2007-04-03 9:52
帖子: 353
送出感谢: 0 次
接收感谢: 0 次
不是有生成autogen.sh?

代码:
$./autogen.sh
$make


页首
 用户资料  
 
7 楼 
 文章标题 :
帖子发表于 : 2007-05-14 15:44 

注册: 2006-11-27 20:13
帖子: 33
送出感谢: 0 次
接收感谢: 0 次
antonym55 写道:
不是有生成autogen.sh?

代码:
$./autogen.sh
$make


哦,,刚开始的时候没发现,后来用了antogen.sh。。
但是还是想看看原来的方法行不行


页首
 用户资料  
 
8 楼 
 文章标题 :
帖子发表于 : 2007-10-20 22:20 

注册: 2007-10-20 22:18
帖子: 77
送出感谢: 0 次
接收感谢: 0 次
我也遇到了这个问题,我查了一下好像是ui编辑器加上的,因为我的界面没有图形的文件,所以就把这句注释掉了,然后编译通过,运行也没有发现什么问题,呵呵


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 8 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译