安装GNUstep并运行第一个objc程序
在windows环境下安装GNUstep,运行objective-c程序,今天试了一下,记录一下操作步骤,
1,登陆http://ftpmain.gnustep.org/pub/gnustep/binaries/windows/网站下载GNUstep的三件套。很多文章都是写的下载两个程序,其实现在GCC在第三个文件里了。仅仅前两个是不行的。
2,然后按照下面的顺序安装这四个文件到同一个目录(例如:C:\GNUstep):
(1.)gnustep-msys-system-xxx.exe
(2.)gnustep-core-xxx.exe
(3.)gnustep-devel-xxx.exe
(4.)gnustep-cairo-xxx.exe
3,给个例子吧:例如在F盘目录下用文本编辑一个文件Fraction.m,代码如下(最简单的Obj-C程序):
#import <Foundation/Foundation.h>
int main(int argc, char *argv[]) {
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSLog(@"Hello world!");
[pool drain];
return 0;
}
首先在Shell输入 cd f:\ 切换到F盘目录,然后
在Shell中输入命令:gcc -fconstant-string-class=NSConstantString -c Fraction.m -I /GNUstep/System/Library/Headers
这是目录里就会生成一个Fraction.o文件。(成功完成此步骤不会有任何显示在命令行中,若有显示说明有错误)
接下来输入命令gcc -o Fraction Fraction.o -L /GNUstep/System/Library/Libraries/ -lobjc -lgnustep-base
此时成功的话就会在目录里生成一个Fraction.exe文件。
最后使用命令 ./Fraction.exe会看到输出的结果,我的结果是:2014-12-20 15:30:33.078 Fraction[15344] Hello world!
成功!
4,问题解决

(1),unrecognized option '-class=NSConstantString' 错误,原因是多了空格。
(2),执行./Fraction.exe的时候,报错,reason:bad sequence length in constant string,是因为Fraction.m文件的保存格式应该为utf-8.
重要命令:
go to the path: cd f: cd iOS/codeOfObjc
create xxxx.o file: gcc -fconstant-string-class=NSConstantString -c hello.m -I/GNUstep/System/Library/Headers
create xxxx.exe file: gcc -o hello hello.o -L/GNUstep/System/Library/Libraries/ -lobjc -lgnustep-base run the xxxx.exe file: ./helle.exe
安装GNUstep并运行第一个objc程序的更多相关文章
- 运行第一个Hadoop程序,WordCount
系统: Ubuntu14.04 Hadoop版本: 2.7.2 参照http://www.cnblogs.com/taichu/p/5264185.html中的分享,来学习运行第一个hadoop程序. ...
- Spark认识&环境搭建&运行第一个Spark程序
摘要:Spark作为新一代大数据计算引擎,因为内存计算的特性,具有比hadoop更快的计算速度.这里总结下对Spark的认识.虚拟机Spark安装.Spark开发环境搭建及编写第一个scala程序.运 ...
- 运行第一个ruby程序
0x00 安装 首先需要安装一个ruby的环境,ruby分为win.linux.macOS版本.不用系统安装方法略有差异,不在这进行讲解. 0x01 运行第一个ruby程序 我这里是win环境,打开命 ...
- 运行第一个python程序,python 变量,常量,注释
一.运行第一个python程序: print('Hello,world') 保存为.py文件 在cmd窗口: python3x:python py文件路径 回车 python2x:python p ...
- OpenCV学习笔记(一)安装及运行第一个OpenCV程序
1.下载及安装 OpenCV是一套开源免费的图形库,主要有C/C++语言编写,官网: http://opencv.org/ .在 http://opencv.org/downloads.html 可以 ...
- 【rust】rust安装,运行第一个Rust 程序 (1)
安装 Rust 在 Unix 类系统如 Linux 和 macOS 上,打开终端并输入: curl https://sh.rustup.rs -sSf | sh 回车后安装过程出现如下显示: info ...
- unbutu中安装jdk并编写第一个java程序
第一部分:安装jdk 1.首先在putty控制台中输入如下命令,检验系统中是否已经装有jdk. java -version 如果显式的结果如下图,则说明没有安装. openjdk是在linux下默认安 ...
- 使用Eclipse运行第一个Go程序
Windows 10家庭中文版,go version go1.11 windows/amd64, Eclipse IDE for C/C++ Developers Photon Release (4. ...
- Go语言开发的第一步,安装开发环境编写第一个Go程序
关于go就不介绍了,google自己的语言.其它的百科,最近比较郁闷,处于纠结状态,不想说话,真心不想说话. 开发工具安装: 安装包下载: http://code.google.com/p/go/do ...
随机推荐
- Android 开发中的View事件监听机制
在开发过程中,我们常常根据实际的需要绘制自己的应用组件,那么定制自己的监听事件,及相应的处理方法是必要的.我们都知道Android中,事件的监听是基于回调机制的,比如常用的OnClick事件,你了解它 ...
- Oracle 物理DG切换
在进行DATA GUARD的物理STANDBY切换前需要注意:确认主库和从库间网络连接通畅:确认没有活动的会话连接在数据库中:PRIMARY数据库处于打开的状态,STANDBY数据库处于MOUNT状态 ...
- 在ASP.NET MVC自定义错误页面
异常处理跳转页面 第一步,在项目的Web.config文件中找到节点<system.web> 在此节点下添加配置(Error为定义的控制器也可以多添加些error标签用于区分不同的错误) ...
- JVM ClassLoader加载过程
虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验.转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是Java虚拟机的类加载机制. 1)三个类加载器: bootstra ...
- phpstorm 设置多项目并存
phpstorm 或 webstorm 设置多个项目可以并存: File -> settings -> Directories -> Add Content Root 中添加你当前的 ...
- js数组(一)
一.创建数组两种方法: 1Array构造 var colors = new Array();2.字面量表示什么事字面量,如 var colors = ["red","gr ...
- hdu 5755 Gambler Bo 高斯消元
题目链接 给n*m的方格, 每个格子有值{0, 1, 2}. 然后可以对格子进行操作, 如果选择了一个格子, 那么这个格子的值+2, 这个格子上下左右的格子+1, 并且模3. 问你将所有格子变成0的操 ...
- ArrayList--卧槽这就是源码
最近在<数据结构与算法分析(java版)>中看到了实现ArrayList的简易代码,亲自做了一下.个中的疑点还是在代码中实现了一下.其中就包括内部类Iterator对外部成员访问的问题. ...
- Activitys, Threads, & Memory Leaks
Activitys, Threads, & Memory Leaks 在Android编程中,一个公认的难题是在Activity的生命周期如何协调长期运行的任务和避免有可能出现的内存泄漏问题. ...
- C语言的本质(11)——指针与数组
1.指针数组和数组指针的内存布局 初学者总是分不出指针数组与数组指针的区别.其实很好理解:指针数组:首先它是一个数组,数组的元素都是指针,数组占多少个字节由数组本身决定.它是"储存指针的数组 ...