0%

使用GNUstep框架搭建Objective-C开发环境

这里使用的环境是Kali,同类型的其它Debian发行版照样适用。

GNUstep官方网站:GNUstep.org

GNUstep官方文档:GNUstep Developer Guides

Apple AppKit框架开发文档:AppKit Framework

Apple Foundation框架开发文档:Foundation Framework

关于GNUstep

GNUstep是OpenStep的GNU开源版本,它有四个核心部分:

  • GNUstep Make:即GNUmakefile,提供类似Makefile的功能
  • GNUstep Base:提供OpenStep的Foundation框架
  • GNUstep GUI:提供OpenStep的AppKit框架,包含图形界面相关的接口
  • GNUstep Back:提供与操作系统相关的backend处理

安装依赖

1
2
# 安装objective-c GNU编译器
sudo apt install gobjc gobjc++
1
2
# 安装GNUstep环境、开发包以及GUI接口
sudo apt-get install gnustep gnustep-devel libgnustep-gui-dev

搭建项目

详细说明可以参考官方文档:Building Your First Objective-C Program

初始化GNUstep开发环境

1
2
# 不同环境,GNUstep.sh的位置可能不一样
source /usr/share/GNUstep/Makefiles/GNUstep.sh

编写GNUmakefile

1
2
3
4
5
6
include $(GNUSTEP_MAKEFILES)/common.make

APP_NAME = TGUI
TGUI_OBJCC_FILES = main.mm

include $(GNUSTEP_MAKEFILES)/application.make

main.mm

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <Foundation/Foundation.h>
#include <AppKit/AppKit.h>

int main(int argc, char* argv[])
{
NSApplication *app = [NSApplication sharedApplication];
NSWindow *window = [[NSWindow alloc] init];

NSLog(@"TGUI is running\n");
[app setDelegate: window];
[app run];

return 0;
}

构建并运行

1
2
make
openapp ./TGUI.app
请我喝瓶肥仔快乐水?

欢迎关注我的其它发布渠道