为了学习ios开发,而手头没有苹果机,若在windows平台下学习objective-c编程、则需要安装OC开发环境,

经过在网上查阅各种相关资料,历经多次失败,终于安装并测试成功,特将安装过程和经验进行分享;

(麻蛋,网上的很多教程,有许多都是直接转载、缺胳膊少腿,未经尝试,真是让我废了老大劲(;´д`)ゞ;

为了方便目前想在Windows下学习OC编程的兄弟们,现把整个过程整理出来以方便大家。o(* ̄3 ̄)o )

一、安装CodeBlocks跨平台IDE开发环境

软件安装地址,请点击下载安装。

建议安装 codeblocks-17.12mingw-setup.exe 版本,该软件包集成gcc/gcc+编译器;

二、安装gnustep编译器


注意:参照网页说明,必须按照1、2、3的顺序安装,建议安装时“以管理员身份运行”;

默认3个软件均安装在C:\GNUstep下;建议按照默认操作安装,方便后面进行配置链接。

三、配置CodeBlocks开发环境

1、打开界面后如下:

2、配置编译器

依次点击进入Settings->Compiler...,默认选择GNU GCC Compiler编译器,点击Copy,复制一个编译器配置文件,

(点击复制后会自动弹出重命名对话框),将复制的配置文件重命名为GUNstep MinGW Compiler,点击“set as default”,

作为OC的默认编译器配置文件,如图:

编译器设置

依次点击 compiler setting->Other compiler Options ,在下面空白处录入:

-fconstant-string-class=NSConstantString -std=c99

链接器设置

点击linker setting,依次添加两个文件:

C:\GNUstep\GNUstep\System\Library\Libraries\libobjc.dll.a

C:\GNUstep\GNUstep\System\Library\Libraries\libgnustep-base.dll.a

具体文件路径根据各位安装的硬盘位置,该出路径为默认安装路径;

搜索目录

点击search directories,添加搜索目录:

C:\GNUstep\GNUstep\System\Library\Headers

添加文件类型和关键字支持(主要用于OC代码指令进行着色,便于自动书写和查阅)

依次点击setting--editor-syntax highlighting-filemasks或keywords

在filemasks中文件扩展名中增加 :*.m,

在keywords中增加:@interface @implementation @end  @class @selector @protocol @public @protected @private id BOOL YES NO SEL nil  NULL self

删除matlab中的文件类型:*.m,

在objective c中增加:*.m,

环境设置

依次点击 setting--environment--files extension handling--new,增加 *.m 类型

至此 开发环境已经搭建成功

ヾ(◍°∇°◍)ノ゙,写文章好累啊,以前也没发过博文;不知道发布出来的效果如何,能不能看清图片内容(キ`゚Д゚´)!!

四、新建工程,运行代码进行测试

依次点击 new--project--console application-选择 c --工程名称为test(工程名称和文件夹地址,自己随便取),然后一直点击next即可,

最后一个界面时,请确认,默认编辑器是否是GNUstep,要与前面安装的编译器一致,否则运行时会提示“缺少编译器”。

新建成功后会出现以下2个文件,源文件中有main.c和main.cpp;双击main.c左边代码视图中会出现C语言“hello world”的代码。

而OC对应的工程文件为.m文件,所以我们要删除main.c并新建main.m文件;在main.c文件上右键,选择“remove file from project”;

添加*.m文件类型,依次点击test(新建的工程名称,右键点击)--project tree--edit file types & category..增加 *.m;---最后点击ok。

该步操作如下图:

然后建立main.m文件

在test上右键,选择add file,在弹出对话框中(会自动打开大家建立的工程文件夹)新建文本文件,并重命名为main.m(需更改文本文件的扩展名);

至此,工程文件已经建好;但此时会发现main.m文件为灰色,且无法点击,此时需右键点击main.m文件,在option选项中勾选 compile file和 link file选项。

本文待续。。。。。

本文为博主原创,详细记录每步安装及设置过程,请尊重作者成果,如需转载请指明,文件出处“https://www.cnblogs.com/clsmile/p/11672403.html”。

Win10利用CodeBlocks搭建Objective-C开发环境(一)的更多相关文章

  1. Windows下搭建objective C开发环境

    摘自:http://blog.csdn.net/zhanghefu/article/details/18320827 最近打算针对iPhone.iPod touch和iPad开发一些应用,所以,需要开 ...

  2. Win10利用CodeBlocks搭建Objective-C开发环境(二)

    工程文件已经建好:但此时会发现main.m文件为灰色,且无法点击,此时需右键点击main.m文件,在option选项中勾选 compile file和 link file选项. 设置完成后,双击mai ...

  3. Win10系统下搭建Go lang开发环境更换国内源并且体验宇宙最快框架Iris

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_156 最近有同学开始尝试接触Go lang,拥抱新技术永远都会是一个好习惯,之前的一篇文章介绍了如何在Mac os系统下配置Go ...

  4. 利用Docker搭建java项目开发环境

    一.需求 一台 Ubuntu 16.0.4 LTS ,安装了Docker服务,Rancher服务,也制作了Tomcat相关的image,接下来我们就来说一下如何快速的构建一个开发环境和测试环境 二.步 ...

  5. Windows在结构objective C开发环境

    对于近期打算iPhone.iPod touch和iPad开发一些应用程序,所以.需要开始学习Objective C(苹果推出的类似C语言的开发语言).因为苹果的自我封闭的产业链发展模式(从芯片.机器. ...

  6. Android群英传神兵利器读书笔记——第一章:程序员小窝——搭建高效的开发环境

    1.1 搭建高效的开发环境之操作系统 1.2 搭建开发环境之高效配置 基本环境配置 基本开发工具 1.3 搭建程序员的博客平台 开发者为什么要写作 写作平台 第三方博客平台 自建博客平台 开发论坛 1 ...

  7. Android开发新手学习总结(一)——使用Android Studio搭建Android集成开发环境

    [新手连载]一:使用Android Studio搭建Android集成开发环境http://bbs.itcast.cn/forum.php?mod=viewthread&tid=87055&a ...

  8. 使用Android Studio搭建Android集成开发环境

    有很长一段时间没有更新博客了,最近实在是太忙了,没有时间去总结,现在终于可以有时间去总结一些Android上面的东西了,很久以前写过这篇关于使用Android Studio搭建Android集成开发环 ...

  9. Android开发学习总结(二)——使用Android Studio搭建Android集成开发环境

    有很长一段时间没有更新博客了,最近实在是太忙了,没有时间去总结,现在终于可以有时间去总结一些Android上面的东西了,很久以前写过这篇关于使用Android Studio搭建Android集成开发环 ...

随机推荐

  1. 使用pytesseract进行图像识别

    引言 对于简单验证码及一些图像的识别,我们需要使用pytesseract及相应的Tesseract引擎,它是开源的OCR引擎.帮助我们做一些简单的图像识别 当然为了更好将图片识别,对一些像素比较低的图 ...

  2. MAC OS 中mount nfs 报错问题.

    记一下 MAC OS 中mount nfs 报错问题. 环境和配置文件 NFS 服务端 Ubuntu 安装 apt install nfs-kernel-server 服务端的配置文件 cat /et ...

  3. C 库函数 - strstr()

    定义 char *strstr(const char *haystack, const char *needle) 参数 haystack -- 要被检索的 C 字符串. needle -- 在 ha ...

  4. MySQL:服务无法启动(1067)问题

    打开安装文件下的my.ini 找到: #Path to the database rootdatadir="C:/ProgramData/MySQL/MySQL Server 5.5/dat ...

  5. reverse啥时候可以用

    在做历史搜索记录的时候,当你想把最新的数据放到前面,可以用到,其实就是一个数组的反转. let array=[ '周小姐','好可爱的' ] var box=array.reverse() conso ...

  6. UMD、CommonJS、ES Module、AMD、CMD模块的写法

    AMD异步模块规范 RequireJS就是AMD的一个典型的实现. 以下是一个只依赖与jQuery的模块代码: // foo.js define(['jquery'], function($){ // ...

  7. 【Vue.js游戏机实战】- Vue.js实现九宫格水果机抽奖游戏总结

    大家好!先上图看看本次案例的整体效果. 完整版实战课程附源码:[Vue.js游戏机实战]- Vue.js实现九宫格水果机抽奖 实现思路: Vue component实现九宫格水果机组件,可以嵌套到任意 ...

  8. 2018-2019 20165226 Exp9 Web安全基础

    2018-2019 20165226 Exp9 Web安全基础 目录 一.实验内容说明及基础问题回答 二.实验过程 Webgoat准备 XSS攻击 ① Phishing with XSS 跨站脚本钓鱼 ...

  9. RabbitMQ教程C#版 - 工作队列

    先决条件本教程假定 RabbitMQ 已经安装,并运行在localhost标准端口(5672).如果你使用不同的主机.端口或证书,则需要调整连接设置. 从哪里获得帮助如果您在阅读本教程时遇到困难,可以 ...

  10. Linux 操作系统 & High Tech

    分享10大白帽黑客专用的 Linux 操作系统 - 51CTO.COMhttp://os.51cto.com/art/201905/597156.htm Ubuntu 创始人谈论为什么 Linux 在 ...