LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 894|回复: 4

glade 编译问题!!!!!毕业设计 !!急救 !!在线等~~~

[复制链接]
发表于 2008-5-22 22:36:09 | 显示全部楼层 |阅读模式
我用glade写了个界面,但是想加入自己的文件 和编译选项,还有库文件 ,怎么弄?
  网上真的是找了很久都没有相关资料,快崩溃了。。。。弄了两个星期了。。。
  救命啊。。。毕业设计啊。。。。

1:怎么加入自己写的.c .h文件 ? 如store.c store.h rule.c rule.h
2:怎么加入自己的编译选项? 如-I/usr/include/mysql -L/usr/lib/mysql -lmysqlclient -lpcap `pkg-config --cflags --libs gtk+-2.0 gthread-2.0` -lpthread
3:还有怎么加入库文件 ?

要不可以教我怎么编辑glade下的makefile文件,
要不教我怎么自己 GCC 它们,我不知道galde需要什么编译选项,谢谢了。。我不想在奥运前疯了。。。
帮帮我啊。。。
发表于 2008-5-23 07:45:31 | 显示全部楼层
没写过 glade 的程序,不过一般都是用 GNU autotools 的吧。如果你的程序文件夹里面有 configure.ac 文件和 Makefile.am 文件的话,那么就应该是 autotools 的 project 了,建议你读读 autotools 的使用。这是 Linux 下 C 程序员的基本功了。

以 Mysql 为例,大约来说,要在 configure.ac 里面加一行
AX_LIB_MYSQL

然后在你源代码所在的文件夹里面的 Makefile.am 里面,应该有一行:
bin_PROGRAMS = xxx

xxx 就是你编译生成的可执行的文件名,继续往下找,应该有一段配置:
xxx_LDFLAGS = .... ( 可能会用 \ 续行)
在这个配置里面补上: $(MYSQL_LDFLAGS)

另外,还有:
xxx_CFLAGS = ...
补上 $(MYSQL_CFLAGS)

然后执行 autoreconf

以后就是标准的 ./configure && make 过程了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-5-23 09:01:50 | 显示全部楼层
我正在学习autotools ,但是好像glade里面已经设置好的很复杂啊..
想重新写一个,又怕他原来的漏掉了什么...
会的人能不能帮我添加下啊...谢谢啊...30号之前就要写出论文初稿了..急啊..
我的编译命令如下,每个.C文件都有一个.H文件
gcc  -o test system.c  pcap_start.c packet_parse.c packet_print.c store.c rule.c response.c -I/usr/include/mysql -L/usr/lib/mysql -lmysqlclient -lpcap `pkg-config --cflags --libs gtk+-2.0 gthread-2.0` -lpthread

当然还要加上glade生成的man.c supoort.c interface.c callbacks.c,关键怎么把我上面的文件、库和编译选项加进去。。

主要具体怎么改能写出来吗?
改哪个目录下的哪几个文件?
改完后怎么用?
会的帮帮忙啊..我真的是弄了很久...快绝望了..谢谢了..
回复 支持 反对

使用道具 举报

发表于 2008-5-23 10:38:39 | 显示全部楼层
你在src文件夹下有个makefile.am的文件,其中bin_XXXXXXX是你要生成的目标文件,如果你需要生成新的目标的话可以添加你的目标文件,比如:bin_PROGRAMS = target mytarget,然后在后面有个原有的依赖关系,比如
  test_SOURCES = \
        system.c pcap_start.c packet_parse.c packet_print.c store.c rule.c
你在后面添加上你的依赖,就变成这样了
   target_SOURCES = \
        main.c \
        support.c support.h \
        interface.c interface.h \
        callbacks.c callbacks.h
   test_SOURCES = \
           system.c pcap_start.c packet_parse.c packet_print.c store.c rule.c  ,保存后可以进行make,基本就可以了,我以前就是这样作的,但是一定要格式正确,其中test_SOURCES前面是个tab。但是你这个里面有数据库的东西,我就不是很清楚了。你可以留下你的邮箱,我有份小资料可以给你。
回复 支持 反对

使用道具 举报

发表于 2008-5-23 10:42:50 | 显示全部楼层
`pkg-config --cflags --libs gtk+-2.0 gthread-2.0` -lpthread
这部分的编译选项可以不用添加,glade已经为你生成了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表