HardBirch

Windows下搭建Object-C开发环境

时间:12-07-18 栏目:iOS移动应用开发技术 作者:张飞不张,文采横飞 评论:0 点击: 1,912 次

1、 开发环境搭建请参考

      http://wenku.baidu.com/view/9ffed817f18583d0496459ca.html

ps:

1)如果没有积分无法下载上面的文档,又不想设置的时候自己敲写,先贴出我的设置,你可以copy了:

 

GNUstep MinGW Compiler
-fconstant-string-class=NSConstanString -std=c99
D:GNUstepGNUstepSystemLibraryLibrarieslibgnustep-base.dll.a
D:GNUstepGNUstepSystemLibraryLibrarieslibobjc.dll.a
D:GNUstepGNUstepSystemLibraryHeaders
D:GNUstepGNUstepSystemLibraryLibraries
@interface @implementation @end @class @selector @protocol @public @protected @private id BOOL YES NO SEL nil NULL self

2)codeblocks有两个版本,都是可以的。

codeblocks-10.05mingw-setup.exe

codeblocks-10.05-setup.exe

3)如果参考上面文档中的说明你的搭建过程非常顺利,下面就没有必要再看了,如果你乐意请留言告知,好让我知道自己搭建过程为啥如此悲催?哼哼,不过我猜你十之八九是不顺利滴,请往下看吧~


2、 创建测试工程

1)   File->New->Project,选择”Consoleapplication”,如图:

 

2)   选C,如图:

 

3)   输入工程名称,选择存放路径(我的工程路径为:D:ObjC),如图:


4)   选择编译器,如图:



5)   在Windows资源管理器中目录D:ObjCHelloWorld下创建main.m

 

从工程中移出main.c,添加main.m

在main.m中添加如下代码:

 

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

6)   选中工程,右键Build工程, Build log如下:

 -------------- Build: Debug in HelloWorld---------------

Linking stage skipped (build target has no object files to link)

Nothingto be done.

通过log可以得出结论,该工程没有任何源文件可供编译。

7)   在main.m上右键选择”Properties”,作如下设置:

 

再次build工程,出现错误:

D:ObjCHelloWorldmain.m:4:5: error:cannot find interface declaration for 'NSConstanString'

8)   选中工程,右键选择“Build options”,发现当前工程的编译器虽然是“GNUstep MinGWCompiler”,但是之前参考

http://wenku.baidu.com/view/9ffed817f18583d0496459ca.html做的编译器相关设置在这里并没有生效,如图:


抓狂,好吧,再做一次吧~……

9)   再次Build工程,依然是刚才的错误:

D:ObjCHelloWorldmain.m:4:5:error: cannot find interface declaration for 'NSConstanString'

10) 再次选中工程,右键选择“Buildoptions” 将当前工程的编译器选择为“GNU GCC  Compiler“(疑惑1这一步很是奇怪,不知道是”GNUstep MinGW Compiler“copy的过程中该编译器出现了问题还是设置过程中出现了问题)

同时,将编译器设置中的

-fconstant-string-class=NSConstanString-std=c99修改为

-fconstant-string-class=NSConstantString-lobjc -lgnustep-base(疑惑2一旦编译工程成功后再次将设置修改为前者,依然可以成功编译)

这时候再Build工程就一切OK了,效果如下所示:

 

ps:1)如果再次新建一个工程,仍然需要上面那一番烦人的设置工作。

     2)还没有深入研究codeblocks(哼哼,准备用mac用Xcode了,估计也不会再深入研究了),或许有其他方便的设置,如果你知道不妨分享一下。

     3)如果*.m文件图标上显示一个小锁无法编辑,请在Windows资源管理器中将该文件“只读“属性去掉。

     4)每次新建的*.m文件都需要设置属性中的“Compile file“和”Link file”属性,很是麻烦。

     5)据我测试,该编译环境不支持Object-C2.0。

声明: 本文由( 张飞不张,文采横飞 )原创编译,转载请保留链接: Windows下搭建Object-C开发环境

Windows下搭建Object-C开发环境:等您坐沙发呢!

发表评论


QQ群互动

Linux系统与内核学习群:194051772

WP建站技术学习交流群:194062106

魔豆之路QR

魔豆的Linux内核之路

魔豆的Linux内核之路

优秀工程师当看优秀书籍

优秀程序员,要看优秀书!

赞助商广告

友荐云推荐