Ubuntu9.10-GNUStep环境下的Objective-C多文件组织

    这里只需要注意几点就可以了,在Gnustep环境下的多文件组织可比用Xcode费事多了,文件的引用关系必须是手动编入的,这里需要注意的是几点:

1)@class只能用在声明@interface的.h头文件里面,不能用在.m的原文件里面,不然它会报奇怪的not found method错误

2)  类实现的.m原文件中,不能在显示的引入复合的类,因为在头文件里面已经引用了,但是必须显示的用#import引用对应的声明@interface的头文件

3)  在程序运行的主源文件里,必须显示的用#import引入相应的.h文件,如果用@class引入,就会报objective-c undefined reference to __objc_class_name_类的错误

4)目前为止你可能会问,那主源文件是怎么找到@interface声明对应的实现接口的类的呢?因为我们的类的@implementation是放在了.m的源文件里面,不能相互引用,所以这里,最重要的地方来了,还记得GNUmakefile这个编译文件吗?对,编译对应的.m文件及引用是在这里配置的,就是这行*_OBJC_FILES = Source1.m Source2.m Source3.m,多个源文件就写多个,依此类推,中间用空格分析,可不是逗号,我当初自作聪明的写了*.m,以为可以把目录下面所有的.m文件都编译,可是不行,所以这里一定要注意

    接下来,运行程序就可以得到想要的结果了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值