Windows下安装Object C开发环境,及Hello Word

转载 2015年07月09日 17:03:17


最近想学习iphone开发,但是由于没有c基础,只有java基础。所以先从基础学习,首先是搭建环境,目前手头没有mac机子,只能先在windows下学习基本语法。还好找到了GNUset,可以利用GNUstep在windows下模拟object c开发环境。


官方网址:http://www.gnustep.org/ 

安装:

GNUstep Windows Installer提供了Windows平台下的Objective-C的模拟开发环境,一共有四个软件包,其中GNUstep System 和GNUstep Core 是必装的,GNUstep Devel 和Cairo Backend 是选装的。安装时按顺序进行,甭管必装选装,一次性全安上,免得以后麻烦。

编写HelloWord

几乎所有的开发环境都是以HelloWord开始,在这里我们先编写HelloWord.

安装完成后,在开始菜单里的GNUstep选项里执行shell,就能打开命令行,在这里就可以使用vi编写Object-C程序了,不过操作起来总有些繁琐,其实也可以直接在Windows里进入C:/GNUstep/home/username目录,在这里用你喜欢的工具编写Object-C程序,然后再进入shell里编译。
直接给出helloworld.m文件内容,取自Programming in Objective-C 2.0一书:

    #import <Foundation/Foundation.h>
    int main (int argc, const char *argv[]) {
    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
    NSLog(@"Hello World!");
    [pool drain];
    return 0;
    } 

 

 第一次编译:

    gcc -o helloworld helloworld.m

结果出现错误信息,找不到头文件:

    helloworld.m:1:34: Foundation/Foundation.h: No such file or directory
    helloworld.m: In function `main’:
    helloworld.m:4: error: `NSAutoreleasePool’ undeclared (first use in this function)
    helloworld.m:4: error: (Each undeclared identifier is reported only once
    helloworld.m:4: error: for each function it appears in.)
    helloworld.m:4: error: `pool’ undeclared (first use in this function)
    helloworld.m:5: error: cannot find interface declaration for `NXConstantString’

     
 
第二次编译:

    gcc -o helloworld helloworld.m /
    -I /GNUstep/System/Library/Headers/

结果出现错误信息,找不到接口声明:

 

    helloworld.m: In function `main’:
    helloworld.m:5: error: cannot find interface declaration for `NXConstantString’ 

第三次编译:

    gcc -o helloworld helloworld.m /
    -fconstant-string-class=NSConstantString /
    -I /GNUstep/System/Library/Headers/ 

结果出现错误信息,找不到链接库:

 

    helloworld.m:(.text+0×33): undefined reference to `_objc_get_class’
    helloworld.m:(.text+0×45): undefined reference to `_objc_msg_lookup’
    helloworld.m:(.text+0×64): undefined reference to `_objc_msg_lookup’
    helloworld.m:(.text+0×80): undefined reference to `_NSLog’
    helloworld.m:(.text+0×93): undefined reference to `_objc_msg_lookup’
    helloworld.m:(.text+0xbc): undefined reference to `___objc_exec_class’
    helloworld.m:(.data+0×74): undefined reference to `___objc_class_name_NSAutoreleasePool’
    helloworld.m:(.data+0×78): undefined reference to `___objc_class_name_NSConstantString’
    collect2: ld returned 1 exit status

 

第四次编译:

    gcc -o helloworld helloworld.m /
    -fconstant-string-class=NSConstantString /
    -I /GNUstep/System/Library/Headers/ /
    -L /GNUstep/System/Library/Libraries/ /
    -lobjc /
    -lgnustep-base 

注意:helloworld.m必须出现在-lobjc和-lgnustep-base的前面,否则会出错。
此时会出现一些info提示信息,不过不碍事,终于成功了生成了可执行文件,执行看结果。

 

    ./helloworld.exe

结果是:

 

注意,可以利用粘贴复制命令:Ctrl+p

iOS越狱开发环境搭建 theos

iOS越狱开发环境搭建 前段时间在开发一个越狱应用,用于在通知中心显示阳历和阴历,名为Chinese Calendar for Notification Center。第...
  • mad2man
  • mad2man
  • 2014年05月04日 09:16
  • 3173

Windows下安装Object C开发环境,及Hello Word(转)

本文来此(http://www.cnblogs.com/yaoliang11/archive/2011/02/19/1958430.html)的转载,个人标记学习内容 最近想学习ipho...
  • javagarden
  • javagarden
  • 2013年11月22日 13:32
  • 480

ThinkPHP学习之windows下安装并运行Hello World

1.在php的wwwm 将thinkPHP完整包解压到
  • victortony
  • victortony
  • 2014年07月29日 14:43
  • 899

[学习笔记]java基础Java8SE开发环境搭建、第一个Java Hello World、Java程序的编译与执行

1.JDK的下载与安装 2.编写第一个java程序HelloWorld 3.编译执行HelloWorld...
  • sushengmiyan
  • sushengmiyan
  • 2014年05月13日 23:42
  • 11184

LaTeX学习笔记(一)—Hello World!

要不要学习LaTeX,其实自己纠结了好久。         从网上各种文章看,LaTeX和Word各有特色。而且有人认为,LaTeX的功能Word几乎都能实现,吹嘘LaTeX的人其实是Word没学好...
  • zhanyongjia_cnu
  • zhanyongjia_cnu
  • 2017年06月22日 16:12
  • 216

Windows程序设计(Hello,word!)

我用"Hello,word!"代替了原标题的“你的第一个程序”,相信学过C的童鞋大多数都是用K&R写的教材,开头第一章的第一个程序就是编程输出"Hello,word!",所以我们学习Windows程序...
  • ccrookie
  • ccrookie
  • 2015年05月15日 18:47
  • 444

EditPlus配置Java环境,并实现简单的Hello Word!学习中

1、安装jdk,并配置环境变量,我的电脑-属性-高级-环境变量,配置JAVA_HOMEjdk安装路径。 Path--%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; CLA...
  • sunhongruihuifeideyu
  • sunhongruihuifeideyu
  • 2015年11月07日 17:06
  • 331

Java环境配置及Hello World!程序运行与调试。

Java开发环境配置 Hello World!程序运行与调试
  • cai2016
  • cai2016
  • 2016年06月12日 22:56
  • 1833

《Electron 开发》 环境配置和Helloworld

前言:最近因为要帮别人做一个Mac和Windows平台下都使用的桌面应用,功能很简单,就是一个文本编辑器,所以大致了解了一下跨平台桌面应用开发的框架,知乎上推荐多半是 Electron 和 NW.js...
  • linshuhe1
  • linshuhe1
  • 2017年05月03日 10:47
  • 3685

[ReactNative入门到精通]React Native 第一个程序 Hello Word

人生没有对错,只有选择后的坚持,不后悔,走下去,就是对的。 React Native 项目目录解析 上一节我们简单的新建了一个React Native的项目AwsoneProject,我们什么都没有...
  • yzzst
  • yzzst
  • 2015年10月12日 01:35
  • 5146
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Windows下安装Object C开发环境,及Hello Word
举报原因:
原因补充:

(最多只允许输入30个字)