为了学习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. bzoj 3566: [SHOI2014]概率充电器 数学期望+换根dp

    题意:给定一颗树,树上每个点通电概率为 $q[i]$%,每条边通电的概率为 $p[i]$%,求期望充入电的点的个数. 期望在任何时候都具有线性性,所以可以分别求每个点通电的概率(这种情况下期望=概率 ...

  2. learning java AWT 布局管理器 GridBagLayout

    在GridBagLayout布局管理器中,一个组件可以跨越一个或多个网格,并可以设置各网格的大小互不相关. import java.awt.*; public class GridBagTest { ...

  3. learning java 正则表达式

    var regStr = "Java is very good"; Matcher m = Pattern.compile("\\w+").matcher(re ...

  4. override关键字

    https://www.cnblogs.com/xinxue/p/5471708.html 2  重写 (override) 在 1.2.2 中提到 override 关键字,可以避免派生类中忘记重写 ...

  5. 10分钟用Python告诉你两个机器人聊天能聊出什么火花

    欲直接下载代码文件,关注我们的公众号哦!查看历史消息即可! 现在不是讲各种各样的人工智能嘛,AI下棋,AI客服,AI玩家--其实我一直很好奇,两个AI碰上会怎样,比如一起下棋,一起打游戏-- 今天做个 ...

  6. 笔记-读官方Git教程(2)~安装与配置

    小书匠 版本管理  教程内容基本来自git官方教程,认真都了系列的文章,然后对一些重点的记录下来,做了简单的归纳并写上自己的思考. 1.安装 在基于 Debian 的发行版上,使用 apt-get安装 ...

  7. C 库函数 - strstr()

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

  8. 解决Spring Boot 拦截器注入service为空的问题

    问题:在自定义拦截器中,使用了@Autowaire注解注入了封装JPA方法的Service,结果发现无法注入,注入的service为空 0.原因分析 拦截器加载的时间点在springcontext之前 ...

  9. [代码审计]php弱类型总结

    0x01 前言 php是世界上最好的语言,所以php自身的安全问题也是web安全的一个方面.由于其自身弱类型语言的特性以及内置函数对于传入参数的松散处理,所以会带来很多的问题,这里将进行简要介绍. 弱 ...

  10. 1、vueJs基础知识01

    vue是框架,vue.js是vue框架的核心js库 库:是一个封装好的特定的方法的集合,提供给开发者使用,库没有控制权,控制权在使用者手中.代表:jQuery.underscore.util 框架:框 ...