要我说,想要学习一门语言,搭建好相关的环境可以达到事半功倍的效果,那么今天我们就来聊一聊关于在windows系统上搭建Object-C语言编程环境的那些事。

文章目录

  • 一、基于CodeBlocks的Object-C编程环境搭建
    • 1.1 CodeBlocks?那个只会写C语言HelloWorld小白才用的软件?
    • 1.2 CodeBlocks能运行Object-C程序?
    • 1.3 CodeBlocks搭建ObjectC环境——一次搞笑的安装之旅
    • 1.4 CodeBlocks编程OC初尝试——这什么辣鸡???
  • 二、启用VMware虚拟机开发ObjectC
  • 三、xCode和CodeBlocks比对

一、基于CodeBlocks的Object-C编程环境搭建

1.1 CodeBlocks?那个只会写C语言HelloWorld小白才用的软件?

让我们先来看看这让人魂牵梦绕的CodeBlocks界面

在学习C语言时,CB、DV、VS三足鼎立,各家说各家的好。最初,我也是个CB玩家,别看VS具有把人养的双手残废的强大自动识别系统,CB便捷的装配和其轻量级的优点就足以使电脑小白一见钟情!但是学算法的时候,因为懒我最终还是选择了VS,CB在我的世界里已经沉寂了将近一年的时间
看我电脑桌面的顺序你们也晓得了CB是多么不经常被我用到……

1.2 CodeBlocks能运行Object-C程序?

了解到CodeBlocks能运行Object-C程序完全是一场意外,众所周知的Object-C是IOS开发语言,就苹果那臭屁的性格,当然是人家自己的机子,自己的环境,自己的软件彩星。于是最一开始,同学们都在打趣说:什么,要用OC做实验?学校怎么不人手发个苹果机!~~当然了,这是不可能的(没人疼没人爱,我是地里的小白菜)~~然后我就打算着手用虚拟机安装MaxOS的系统,然后在上面跑xCode运行OC程序,然后我就发现,苹果机的景象插件包各个都是GB结尾的,哎呦我这个难过呀,校园网好贵,我好伤心,于是我拖延了很久多没安装。
也就是那样的一个午后,阳光正好,教室内空调也很足,我吃着刚去学校小超市顺来的西瓜快乐的一边和同学闲聊,一边打开电脑准备写点作业。然后话题就跑到了OC上:“你知道吗,CB也可以跑Object-C”。

当时的我就是这个表情,我还真就想也没想打开电脑就开始配环境!

1.3 CodeBlocks搭建ObjectC环境——一次搞笑的安装之旅

因为我搭环境贼菜,和那些大佬比起来我简直像是缺颗脑子一样,但是我这次真的是菜到家了,来搞笑一下hiahiahia!

实验环境说明

win10系统
CodeBlocks16.01
Object-C

实验参考

写在前面的话:
我是codeblocks打c程序的玩家,所以不需要安装codeblocks,只是装配GNUstep就可以了(广大cb爱好者都看过来!)。我的装配用时大概是二十分钟,中间出了正常人都不会出的bug耽误了一会,所以整个装配流程还是很快的。

先是按照 Bonker大佬的帖子 安装,然后出了error: stray ‘@’ in program的报错:

我当时就想了,嗯?难道是我路径搭错了?怎么这样子了!上网翻了一下错误,发现并没有相关博客,唔,那一定是我搭建环境的时候脑残少些东西了,于是我又翻到 另一位大佬 的博客,对自己的安装进行了补充,具体的就是:
(1) 又检查了一遍自己的Search directories/Toolchain里的路径(这里我还是按照Bonker的方法安装的,第一次好像没配上)
(2) 补充添加Objective-C文件类型支持
进入 Settings->Editor…,选择 Syntax highlighting,点击“Filemasks…”按钮,在弹出框尾部添加*.m 到文件类型。
点击“Keywords…”按钮 (紧靠Filemasks…按钮) 添加下面Object-C的关键字到Edit Keywords列表中。
@interface @implementation @end @class @selector @protocol @public
@protected @private id BOOL YES NO SEL nil NULL self @protocol

当然了,这些补充都不是重点,因为就在这一点一点改环境的过程中,我渐渐发现他们一直在装配.m文件,.m…… .m……于是,我顿悟!!!我用来测试的文件的文件名写!错!了!
应该测试的是.m文件,我测试用的是.cpp文件,dbq,我就是个弟弟,我还觉得人家教程有问题我是真的弟弟了,这里向大佬说声dbq,然后我就安装完成了……

从我这个报错也能清晰地看出我是真的一丢丢都不会OC这个语言。

1.4 CodeBlocks编程OC初尝试——这什么辣鸡???

来讲讲我遇到的难题

首先,我遇到了这个问题,上网一查,原来是没写main函数没有程序入口。

然后就是这个问题,我的.h文件main函数找不到,好气噢关键是我现在都不知道咋肥四

好吧,布星我就写一起呗,不开.h文件了,直接写一个.m里,写完是能跑了,我就犯嘀咕了,这,这玩意也没一点面向对象的想法吧,class都没法好好开了。

然后我就发现了一个让我彻底弃坑的问题:
这玩意版本也太落后了,怎么就这么点关键字,上网一查才知道,它连2.0版本都不支持,怎么形容一下,就像你做饭没煤气灶,说是不支持那么高级的东西,想煮饭?自己烧柴火去,这哪能忍,我当即就转战了,下我的虚拟机去!


给大家展示一下,这小打小闹的东西都能写什么:


就是那个“Dog.h”找不见

就这个基本关键字,版本过低不支持报错

当前时间上午十点,我从早上五点四十起床收拾收拾开始配环境,中间还上了一节英语课到现在转战还不算太晚ww。

二、启用VMware虚拟机开发ObjectC

实验参考

实验环境

VMWare15
maxOS13
xCode9

首先,我按照 VMware虚拟机 安装 macOS High Sierra 10.13 安装了MaxOS系统

用MaxOS系统的各位晓得,现在苹果机出了maxOS14也就是黑苹果,然而我试了好几次也不能更新,就只能停留在10.13.6好像是这个,苹果它亲口告诉我我这个是最新版本

关键是xCode10是不能安装在MaxOS13上的,版本不匹配!!!
我只好去苹果官网下载了个老版本的xCode 4.9.1

这样子,我终于可以开始写作业啦


三、xCode和CodeBlocks比对

要么说呢,用了苹果你就别想碰别的了,这不是好用了一星半点好吗

垄断性产业就是不一样,我只能高呼真香了,就用windows系统进行ObjectC编程开发这件事来说,虽然安装maxOS虚拟机会需要一段时间,但是我认为这还是最优选择,不管是maxOS系统良好的界面操作,xCode便捷的编译和完美的语法高亮,其适配程度都让其他玩家没话说,至少后来其他同学向我展示也有能编写运行xCode的wab端程序我也一点都没有动摇。虽然说还是没有买个苹果电脑的念头,但是不得不说,这个虚拟机我一定会经常光顾~
当然我也知道现在Object-C是个边缘语言,但是对于新手来说,其简单的语法,对C语言的兼容性都使其成为了IOS开发很好的入门语言,至少我一天就学会了嘻嘻嘻~
不多说了,希望能对在坐的各位有所帮助!

Object-C一日速成——环境搭建的更多相关文章

  1. Tensorflow object detection API(1)---环境搭建与测试

    参考: https://blog.csdn.net/dy_guox/article/details/79081499 https://blog.csdn.net/u010103202/article/ ...

  2. ubuntu Tensorflow object detection API 开发环境搭建

    https://blog.csdn.net/dy_guox/article/details/79111949 luo@luo-All-Series:~$ luo@luo-All-Series:~$ s ...

  3. Tensorflow object detection API ——环境搭建与测试

    1.开发环境搭建 ①.安装Anaconda 建议选择 Anaconda3-5.0.1 版本,已经集成大多数库,并将其作为默认python版本(3.6.3),配置好环境变量(Anaconda安装则已经配 ...

  4. PyCharm+selenium环境搭建报错:Traceback (most recent call last): TypeError: 'module' object is not callable

    环境搭建好后,代码如下: from selenium import webdriverdriver = webdriver.chrome()driver.get("http://www.ba ...

  5. 使用Tensorflow object detection API——环境搭建与测试

    [软件环境搭建] 操作系统:windows 10 64位 内存:8G CPU:I7-6700 Tensorflow: 1.4 Python:3.5 Anaconda3 (64-bit) 以上环境搭建请 ...

  6. 【Spark机器学习速成宝典】基础篇01Windows下spark开发环境搭建+sbt+idea(Scala版)

    注意: spark用2.1.1 scala用2.11.11 材料准备 spark安装包 JDK 8 IDEA开发工具 scala 2.11.8 (注:spark2.1.0环境于scala2.11环境开 ...

  7. PyQT5速成教程-1 简介与环境搭建

    本文由 沈庆阳 所有,转载请与作者取得联系! PyQt简介 一个良好的界面是人机交互中十分重要的一环. Python作为脚本语言,起初并未拥有GUI开发的部分.但随着其开放的扩展性,使得Python不 ...

  8. Hibernate 系列 02 - Hibernate介绍及其环境搭建

    引导目录: Hibernate 系列教程 目录 昨晚喝多了,下午刚清醒,继续搞Hibernate.走起. 觉得还行的话,记得点赞哈,给我这个渣渣点学习的动力.有错误的话也请指出,省的我在错误上走了不归 ...

  9. ubantu16.04+mxnet +opencv+cuda8.0 环境搭建

    ubantu16.04+mxnet +opencv+cuda8.0 环境搭建 建议:环境搭建完成之后,不要更新系统(内核) 转载请注明出处: 微微苏荷 一 我的安装环境 系统:ubuntu16.04 ...

随机推荐

  1. git命令教程

    git教程笔记 Git是什么? Git是一个分布式版本控制系统 版本控制方式 集中式版本控制:从版本库中先取得最新的版本,改完之后再上传到版本库中,需要联网 分布式版本控制:每个合作者电脑上都有一个版 ...

  2. System.InvalidOperationException:This.NpgsqlTransaction has completed;it is no longer usable. at Npgsql.NpgsqlTransaction.CheckCompleted() in ...

    关于报此异常,原因是事务不能循环提交,一个方法中事务只能提交一次. System.InvalidOperationException:This.NpgsqlTransaction has comple ...

  3. Python 條件式 Condition

    除了重複使用Function,有時我們須檢查結果,依此判斷下個步驟該怎麼進行,如此就需要條件式 condition statement. if ... elif ... ese ( 或 if ... ...

  4. SAP记账期间变式

        记帐期间变式能够控制每个公司代码中打开的记账期间,包括正常记账期间和特别记账期间.可以为企业组织架构中的每个公司代码定义一个归其单独使用的记账期间变式.      记账期间变式独立于会计年度变 ...

  5. jQuery实现简单的tab切换

    html: <section>   <nav id="nav">     <a class="on">tab1</a& ...

  6. apache配置文件说明及一些指令

    httpd命令和apachectl命令 [root@localhost ~]# httpd -h Usage: httpd [-D name] [-d directory] [-f file] [-C ...

  7. 题解:A

    A (a.pas/c/cpp) [题目描述] 对于给定的一个正整数n, 判断n是否能分成若干个正整数之和 (可以重复) , 其中每个正整数都能表示成两个质数乘积. [输入描述] 第一行一个正整数 q, ...

  8. SP15637 Mr Youngs Picture Permutations 高维动态规划

    问题描述 LG-SP 题解 发现\(n,k\)都非常小,尤其是\(k,k\le 5\),于是直接开\(5\)维进行\(\mathrm{DP}\) 用记忆化搜索实现. \(\mathrm{Code}\) ...

  9. 推荐一款好用到爆的开源 Java 诊断工具

    Arthas是什么鬼?Arthas是一款阿里巴巴开源的 Java 线上诊断工具,功能非常强大,可以解决很多线上不方便解决的问题. Arthas诊断使用的是命令行交互模式,支持JDK6+,Linux.M ...

  10. 通过ES6 Module看import和require区别

    前言 说到import和require,大家平时开发中一定不少见,尤其是需要前端工程化的项目现在都已经离不开node了,在node环境下这两者都是大量存在的,大体上来说他们都是为了实现JS代码的模块化 ...