在 Ubuntu 中使用 GNUstep 搭建 Objective-C 开发环境


GNUstep 介绍见 http://www.gnustep.org/

安装相关程序

直接 apt-get install 搞定。

  • build-essential
  • gnustep
  • gnustep-devel
  • gnustep-examples
  • gobjc
  • gobjc++

设置环境变量

为了方便使用 GNUstep 的各种编译工具,需要先在 .bashrc 中导入 GNUstep 的脚本。

# Setup GNUstep
GNUSTEP_MAKEFILES=/usr/share/GNUstep/Makefiles
export GNUSTEP_MAKEFILES
source $GNUSTEP_MAKEFILES/GNUstep.sh

编写 Makefile

使用 Makefile 来编译 Objective-C App,注意 Makefile 的文件名为 GNUmakefile

include $(GNUSTEP_MAKEFILES)/common.make

APP_NAME=HelloWorld
HelloWorld_OBJC_FILES=test.m 

include $(GNUSTEP_MAKEFILES)/application.make

这个是编译出 Mac OS App Bundle 形式的目标,如果是编译命令行工具的话,可以使用如下 Makefile:

include $(GNUSTEP_MAKEFILES)/common.make

TOOL_NAME=HelloWorld
HelloWorld_OBJC_FILES=test.m 

include $(GNUSTEP_MAKEFILES)/tool.make

在编译命令行工具时,AppKit 就不会自动链接进来了,使用 NSColor 这样的类就会有问题。

HelloWorld

一个最简单的 HelloWorld 代码:

#import <Foundation/Foundation.h>

int main() {
    NSAutoreleasePool *pool = [NSAutoreleasePool new];
    NSLog(@"HelloWorld");
    [pool release];
    return 0;
}

保存为 HelloWorld.m,编写 Makefile:

include $(GNUSTEP_MAKEFILES)/common.make

APP_NAME=HelloWorld
HelloWorld_OBJC_FILES=HelloWorld.m 

include $(GNUSTEP_MAKEFILES)/application.make

保存 Makefile 为 GNUmakefile,执行 make,会在当前目录生成 HelloWorld.app,使用 openapp 命令运行:

openapp ./HelloWorld.app

当然如果是编译成命令行工具的目标的话,会在当前目录的 obj 目录中生成 HelloWorld 可执行文件,这个可以直接从命令行运行:

./obj/HelloWorld

参考资料

  1. http://www.gnustep.org/
  2. http://www.qiongbupa.com/archives/678
  3. http://www.gnustep.org/resources/documentation/User/GNUstep/gnustep-howto_4.html#SEC8
  4. http://www.gnustep.it/nicola/Tutorials/WritingMakefiles/node6.html
  5. http://www.gnustep.it/nicola/Tutorials/index.html

–EOF–

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值