1、安装gmake工程化的构建工具:
sudo yum install -y make
2、安装GNU Objective-C
编译器:
sudo yum install -y gcc gcc-objc
3、安装依赖库:
sudo yum install -y libobjc libjpeg libjpeg-devel libpng libpng-devel libtiff libtiff-devel libxml2 libxml2-devel libX11-devel libXt-devel libxslt libxslt-devel libicu libicu-devel gnutls gnutls-devel
curl -L -O http://ftpmain.gnustep.org/pub/gnustep/core/gnustep-startup-0.32.0.tar.gz
5、解压GNUstep Startup
:
tar vxf gnustep-startup-0.32.0.tar.gz
6、进入GNUstep Startup
解压后的目录:
cd gnustep-startup-0.32.0
7、生成Makefile
文件
./configure
8、使用gmake编译并安装:(GNUstep
把安装过程合并到这个步骤了,所以不用再make install
了)
echo -e "\n" | make
如果得到下面的提示,表示安装成功:
安装目录是/usr/GNUstep/
9、在/etc/profile
中配置/usr/GNUstep/System/Library/Makefiles/GNUstep.sh
在bash
启动时候加载:
. /usr/GNUstep/System/Library/Makefiles/GNUstep.sh
10、在/etc/profile
中加入LD_LIBRARY_PATH
环境变量的配置:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/GNUstep/System/Library/Libraries/
11、在/etc/profile
中加入PATH
环境变量的配置:
export PATH=$PATH:/usr/GNUstep/System/Tools
创建一个文件夹HelloOC
用于存放源代码:
mkdir HelloOC && cd HelloOC
创建一个叫做HelloOC.m
的文本文件,内容如下:
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSLog(@"Hello Objective-C");
[pool drain];
return 0;
}
GCC编译器是老牌的编译器,它支持Objective-C 1.0的语法。
使用GCC编译的命令如下:
gcc `gnustep-config --objc-flags` -o HelloOC HelloOC.m -L /usr/GNUstep/System/Library/Libraries -lobjc -lgnustep-base
Xcode里面最早使用的编译器是GCC, 后来,苹果开发了LLVM,逐步替代了GCC。
Objective-C 2.0
增加了一些重要的功能,所以,我们一般都会使用这些功能。为了使用这些功能,我们必须使用Clang进行编译。因为gcc不支持Objective-C 2.0
的语法。
使用Clang编译的命令如下:
clang `gnustep-config --objc-flags` -o HelloOC HelloOC.m -L /usr/GNUstep/System/Library/Libraries -lobjc -lgnustep-base -I /usr/lib/gcc/x86_64-linux-gnu/5/include/
1、在HelloOC.m
同一个目录下,创建一个叫做GNUmakefile
的文本文件,内容如下:
GNUSTEP_MAKEFILES = /usr/GNUstep/System/Library/Makefiles
include $(GNUSTEP_MAKEFILES)/common.make
TOOL_NAME = HelloOC
HelloOC_OBJC_FILES = HelloOC.m
include $(GNUSTEP_MAKEFILES)/tool.make
注意:文件名一定是GNUmakefile
,注意大小写!
有Linux C
开发经验的同学应该对这个GNUmakefile
不陌生, 它是gmake这个自动化工具的配置文件。gmake其实与早期Java开发中的Ant,Android开发中的gradle、Java EE开发中的Maven这些工具是一样的, 他们都是自动化工具,只是,这些工具通常是用来构建项目,所以,被称为项目构建工具。
使用项目构建工具有很多好处:配置文件可与源代码一起被版本控制工具管理, 编译的时候只需要一个make
命令就编译好了,并非常简单,这对于大型项目非常有用。
现在,我们的工程结构如下:
2、使用make
命令进行编译:
make
3、运行效果如下:
4、编译完成后,我们再看一下工程的目录结构:
生成的可执行文件在obj
目录下。
5、运行效果如下:
与在Xcode
中运行效果是一样的。
上面我们分别用GCC、Clang、gmake进行编译项目,这是常见的编译方式。
至此,您就可以在CentOS下享受Objective-C开发之旅了,好好发挥您的想象吧!