Windows下安装Object C开发环境,及Hello Word
来源:互联网 发布:电脑硬盘修复软件 编辑:程序博客网 时间:2024/05/21 11:29
最近想学习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
- Windows下安装Object C开发环境,及Hello Word
- Windows下安装Object C开发环境,及Hello Word
- Windows下安装Object C开发环境,及Hello Word(转)
- Windows下安装Object C开发环境,及Hello Word(转)
- Windows下安装Object C开发环境
- Windows下安装Object-C开发环境
- windows下安装Object-C开发环境【sh】方式
- windows下安装Object-C开发环境【makefile】方式
- Windows下搭建Object-C开发环境
- 利用GNUstep搭建windows下object-c的开发环境
- Windows下安装Objective-C开发环境
- Windows下安装Objective-C开发环境
- 在WinXP下安装运行object-c的开发环境
- Windows下搭建Object-C环境
- Windows下搭建Object-C环境
- Windows下Hello Word程序
- Windows下qt的环境配置及运行一个c++"hello world"实例详细步骤
- Ubuntu下Object-C开发环境搭建
- 错误代码中文查询GetLastError返回代码的含义
- 如何获取excel对应的sheet个数和对应的名字
- android上Bitmap获取的方法
- 介绍Windows/Linux下Oracle数据库进程如何启动和关闭
- map的应用(swap_word)
- Windows下安装Object C开发环境,及Hello Word
- mianArg.cpp 使用mian函数的参数 f0512.cpp
- a:visited 权重
- 一道上级面试题: 接受单词并按字典序排序
- 用VC写DLL中"error LNK2005: _DllMain@12 already defined"的错误
- (转载)Ext2 文件系统的硬盘布局
- .net 调用scilab 示例
- sql系统表syscolumns中 xtype 所有值对应的类型名称
- sql varchar 长度问题