博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用Codeblock搭建Windows下Objec-c学习环境
阅读量:7119 次
发布时间:2019-06-28

本文共 1829 字,大约阅读时间需要 6 分钟。

  学习Object-c如果使用的是Windows,一般推荐使用虚拟机,但是太重量级了,先要下载OS-X,又要下载x-code。这里推荐一种比较简便的方式,使用code-block来搭建简易的Object-c学习环境,下载地址是:http://www.codblocks.org/。

  Objective-C的编译器有很多,这里使用GnuStep,网址是http://www.gnustep.org/experience/Windows.html,从这里可以下载Windows版本的gcc编译器,共有四个软件包,其中GNUstep System和GNUstep Core是必装的,GNUstep Devel和Cairo Backend是选装的(用迅雷拖要快点)。

  下载并安装好Code-block 和 GnuStep 之后,对Code-block进行配置。

  打开Code::Blocks,点击菜单Settings>Compiler and debugger>Global compiler settings在Selected compiler下拉框下面点击Copy, 在弹出窗口中填入: GNUstep MinGW Compiler 之后,点击Toolchain executables选项卡,将Compiler’s installation directory选择为C:\GNUstep,如下图:
  

  接下来找到Other Options 选项卡,写入-fconstant-string-class=NSConstantString -std=c99 :

 

    接下来设置静态链接库,在Link settings 中进行添加,需要添加的.a文件在:C:\GNUstep\GNUstep\System\Library\Libraries: libgnustep-base.dll.a 和 libobjc.dll.a,

    

 

     接下来在Search directories 中的Compiler选项卡中增加:C:\GNUstep\GNUstep\System\Library\Headers;在Linker选项卡中增加:C:\GNUstep\GNUstep\System\Library\Libraries。这里就不截图了。

       进入Settings->Environment...,选择Files extension handling 添加*.m;进入 Project->Projecttree->Edit file types & categories... ,在Sources, 下面添加*.m到文件类型列表中。

       进入Settings->Editor...,选择 Syntaxhighlighting,点击“Filemasks....”按钮,在弹出框尾部添加*.m 到文件类型;点击“Keywords...”按钮 (紧靠Filemasks...按钮) 添加下面Object-C的关键字到EditKeywords列表中:@interface @implementation @end  @class @selector @protocol @public @protected @private id BOOL YES NO SEL nil  NULL self。

     

     最后进行测试,选择File->New->Project…,会出现一个工程类型窗口,选择Console Application,然后按照工程建立指引,建立一个mTest的工程,并将main.c的文件更名为main.m,写入代码:

#import 
int main (int argc, const char * argv[]){ NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; NSDate *now = [NSDate date]; NSLog(@"This NSDate object lives at %p", now); NSLog(@"The date is %@", now); [pool release]; return 0;}

  编译运行上述代码,结果如下:

  

 

转载地址:http://esiel.baihongyu.com/

你可能感兴趣的文章
JAVA远程通信的几种选择(RPC,Webservice,RMI,JMS的区别)
查看>>
Python 将json字符串 进行列表化可循环
查看>>
Django Drops
查看>>
NLog自定义字段写入数据库表,示例
查看>>
SQL优化的思路及基本原则(mysql)
查看>>
data-toggle data-target
查看>>
bootstrap课程5 bootstrap中的组件使用的注意事项是什么
查看>>
vue - 自定义指令
查看>>
Jvm(20),如何定义为垃圾对象----引用计数法
查看>>
The Five Best Linux BitTorrent Clients
查看>>
LeetCode: Path Sum 解题报告
查看>>
Struts2之文件上传(单文件/多文件)
查看>>
【AS3 Coder】任务七:初涉PureMVC——天气预报功能实现
查看>>
基于HT for Web的Web SCADA工控移动应用
查看>>
JavaScript-常用正则函数(适合忘记时看)
查看>>
Sphinx-实战
查看>>
窗体之间传递值的几种方法
查看>>
onSingleTapUp()和onSingleTapConfirmed()的区别
查看>>
Android app应用多语言切换功能实现
查看>>
严重: Catalina.stop: java.net.ConnectException: Connection refused: connect
查看>>