为了学习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. 汇编语言笔记 CALL和RET指令

    转载地址:http://www.cnblogs.com/dennisOne ☞模块化程序设计 模块化程序设计 汇编语言通过call和ret指令实现了模块化程序设计.可以实现多个相互联系.功能独立的子程 ...

  2. Mybatis mapper接口与xml文件路径分离

    为什么分离 对于Maven项目,IntelliJ IDEA默认是不处理src/main/java中的非java文件的,不专门在pom.xml中配置<resources>是会报错的,参考这里 ...

  3. [CTF]抓住那只猫(XCTF 4th-WHCTF-2017)

    原作者:darkless 题目描述:抓住那只猫 思路: 打开页面,有个输入框输入域名,输入baidu.com进行测试 发现无任何回显,输入127.0.0.1进行测试. 发现已经执行成功,执行的是一个p ...

  4. [WEB安全]XSS命令总结

    一:正常构造方式: 1.无过滤,直接写: <script>alert(1)</script> 2.正常截断: "> <script>alert(1) ...

  5. 找到树中指定id的所有父节点

    const data = [{ id: 1, children: [{ id: 2, children: [{ id: 3, }, { id: 4, }], }], }, { id: 5, child ...

  6. JavaWeb之基础(1) —— 文件、目录结构和创建项目

    1. JavaWeb应用 JavaWeb应用从大类上分为静态和动态两种. 静态应用就是传统的HTML文件+素材资源构造的静态网页,不需要特殊的配置.JavaWeb也不是专门用来做静态网站的. 动态应用 ...

  7. 第十五周助教工作总结——NWNU李泓毅

    助教博客链接:https://www.cnblogs.com/NWNU-LHY/ 本次作业的要求:团队项目需求改进与系统设计:https://www.cnblogs.com/nwnu-daizh/p/ ...

  8. css中的浮动与定位

    传送门:https://www.cnblogs.com/junwuyao/p/7435257.html

  9. Barman安装及备份PostgreSQL

    barman特点 零数据丢失备份.保证用户在只有一台备份服务器的情况下达到零数据丢失. 与备份服务器合作.允许备份服务器在与主服务器的流式复制不可用时,从barman获取wal文件. 可靠的监控集成. ...

  10. 解决 screen 连接不上,提示“There is no screen to be resumed matching 18352.” 的问题

    当你挂起screen,下次想重新连上screen时,有时会出现screen session的状态为Attached但是却连不上的情况,比如我想重新进入session id 为18352的screen, ...