QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1937|回复: 6

anjuta不能编译gtk代码(如何设置编译连接选项)

[复制链接]
发表于 2006-6-26 16:03:46 | 显示全部楼层 |阅读模式
打开anjuta创建一个GTK 2.0 Project 或者Gnome 2.0  Project
项目(其他的没试),什么也不作,由于项目本身的原因,代码终会包含很多都文件,典型的有gtk.h或gnome.h,直接F9编译会出现很多错误,比如找不到gtk.h文件。如果选择F11创建,倒还可以生成可执行文件。
我现在就是搞不清楚“创建”菜单下的条目都干什么用,对应文本界面下的哪些命令?
还有,一旦创建一个项目以后,“设定”菜单下的“编译连接设定”中的第一页就不能使用,无法设置连接选项。这一页应该怎么用?

关于anjuta的文章太少,翻来覆去总是那两个文章,哪里有详细一点的帮助文档呢?(自带的英文帮助..................................)
发表于 2006-6-26 16:54:26 | 显示全部楼层
关注
回复

使用道具 举报

 楼主| 发表于 2006-6-28 10:34:38 | 显示全部楼层
又发现一个新的问题,没想到anjuta这样麻烦。

我自定义了一个函数,放在myfun.c中,在myfun.h中有函数的声明,在callbacks.c中也添加了#include "myfun.h",而当在一个回调函数中调用这个函数时,make老是说我的那个函数没有定义。

我了解到如果回调函数中调用在interface.c中定义的构件是一件很麻烦的事,需要用到好几个gtk函数,难道调用一个其他文件中定义的函数也需要如此麻烦的步骤吗?
回复

使用道具 举报

发表于 2006-6-29 15:09:36 | 显示全部楼层
俺也搞不懂怎么添加比如头文件目录、库文件目录之类的东西。。。
回复

使用道具 举报

 楼主| 发表于 2006-6-29 16:06:56 | 显示全部楼层
细看才发现原来anjuta生成的makefile文件好像根本没有把我添加到anjuta工程中的文件myfun.c算进去,当执行连接这一步时,gcc后面只有默认的那几个文件的目标文件,我的myfun.c都没有编译生成.o
如果手工执行编译并连接什么问题都没有,可惜我实在看不懂那个makefile文件,要不然一定要好好分析一下。
anjuta生成makefile大概是使用autogen.sh这个脚本,既然我在工程中添加了我的文件myfun.c ,为什么连接会把他落掉呢?
回复

使用道具 举报

 楼主| 发表于 2006-6-29 16:24:40 | 显示全部楼层
如果选择单个文件并执行“编译”,我的那个简单的myfun.c可以编译成功(anjuta使用的是cc),如果执行“创建”就只有main.c,interface.c,support.c和callbacks.c被编译并试图连接(anjuta使用make)。
回复

使用道具 举报

 楼主| 发表于 2006-6-29 16:54:41 | 显示全部楼层
靠,终于找到了!
原来在/src下还有个Makefile.am文件,里面有个文件列表,不知怎的其中没有我的myfun.c,仿照着添加上.c和.h两个文件,然后生成Mekefile,再make成功!
回复

使用道具 举报

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

本版积分规则

GMT+8, 2024-11-2 12:23 , Processed in 0.036058 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

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