Windows环境下面搭建Objective C开发环境

==========================================

Magwin方法

1、安装编译器   

Objective-C的编译器有很多,其中LLVM属于从GCC发展出来的,主要使用在苹果的平台中,GNU可以使用GnuStep,网址是http://wwwmain.gnustep.org/,从这里可以下载Windows版本的gcc编译器,配合codeblocks可以编译调试object c程序。
    
进入下载页面,下载上面3个软件包,安装,例如安装到D:\GNUstep,

2、安装CodeBlocks IDE环境

下载地址:http://www.codeblocks.org/

3、配置编译器

安装好codeblocks之后,进入Settings->Compiler and debugger...,选择GNU GCC Compiler编译器,复制重新命名为“GNUstep MinGW Compiler“配置

   Windows环境下面搭建Objective C开发环境_第1张图片

编译其他选项录入:-fconstant-string-class=NSConstantString -std=c99

同时指定搜索目录:
》编译器的搜索目录是D:\GNUstep\GNUstep\System\Library\Headers
》linker的搜索目录设置为D:\GNUstep\GNUstep\System\Library\Libraries,同时设置linker的参数:-lobjc -lgnustep-base 
或者可以在linker选项中加入D:\GNUstep\GNUstep\System\Library\Libraries下面的2个文件libgnustep-base.dll.a,libobjc.dll.a

Windows环境下面搭建Objective C开发环境_第2张图片

设置编译器、连接器的搜索目录

4、配置语法、文件类型,关键字等

添加文件类型支持

1) 进入Settings->Environment...

2) 选择 Files extension handling 添加*.m

3) 进入 Project->Project tree->Edit file types & categories...

4) 在Sources, 下面添加 *.m到文件类型列表中.

添加语法高亮支持

1) 进入 Settings->Editor...

2) 选择 Syntax highlighting 进入Filemasks.... 添加*.m 到文件类型列表中.

3) 进入 Keywords... (紧靠Filemasks...) 添加下面的关键字到列表中

@interface @implementation @end @class @selector @protocol @public @protected @private id BOOL YES NO SEL nil NULL self

语法高亮中,加入*.m扩展名
Windows环境下面搭建Objective C开发环境_第3张图片 

5、代码测试

新建一个工程,修改main.c为main.m,录入下面代码

#import <Foundation/Foundation.h>

int main (int argc, const char *argv[])
{
    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
    NSLog(@"%@",@"hello world");
    [pool drain];
    return 0;
}

编译运行效果如下:

2012-03-07 17:33:49.711 objc1[6080] hello world

Process returned 0 (0x0)   execution time : 0.220 s
Press any key to continue.




=============================================================================================================================
============================================================================================================================

转载地址:http://www.cnblogs.com/alex-tech/archive/2011/10/27/2227026.html

先學Objective-C吧~GNUstep環境安裝於Windows

在參考了幾本iPhone的教學書籍和史丹佛的iPhone開發課程前三章之後,果然還是覺得先從Objective-C的程式語言基礎開始。雖然對於C語言並不陌生,但Objective-C的語法和一些結構,似乎較於C語言又多了不少,尤其是2.0的新加入特性,是需要花些時間仔細學習。

GNUstep是一個不錯的選擇,這個是一個實作出Cocoa/OpenStep APIs的跨平台開發環境,GNUstep可以在Linux和Windows平台下使用。拿來作學習Objective-C的練習平台是足夠的。GNUstep目前也支援Objective-C 2.0,但其中仍有一些差異性,可以看 Stackoverflow和 GNUstep Google group的討論。

以下以Windows作業系統為例,說明如何建置一個練習Objective-C語言的環境。

1.安裝MinGW和GNUstep到Windows中

先到GNUstep的 Windows版本下載頁面,下載GNUstep System和GNUstep Core,這邊下載的是0.23.x以上的版本,然後安裝到自己的電腦上。System中就會帶有 MinGW 這個開發環境和相關程式。

2.執行GNUstep的shell

在安裝完成後,應該會看到類似C:\GNUstep的目錄出現在你的電腦中(預設是裝在C磁碟下,如果是別的磁碟或目錄中,應該要有類似的安裝好的目錄出現)。這時候執行「開始→程式集→GNUstep→shell」後,會跳出以下的視窗,這個就是GNUstep的shell(中譯應為:交談式的命令環境),注意此時shell對應的目錄是在C:\GNUstep\home\Administrator\(因為我是使用Administrator登入Windows時安裝的,如果是用別的使用者帳號登入後安裝,應該是別的名稱的目錄C:\GNUstep\home\<username>)

3.執行第一個程式和使用Makefiles

以下是我們要用的第一支Objective-C程式的程式碼,把它貼到 Notepad++或Ultra-Edit上,然後儲存到上面2.中的shell根目錄中,檔名為hello.m

hello.m
1
2
3
4
5
6
7
8
9
10
#import <Foundation/Foundation.h>
 
int main (int argc, const char * argv[])
{
        NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
 
        NSLog (@"hello world");
        [pool drain];
        return 0;
}


接下來你可以在shell中輸入以下的指令來compile(編譯)它,但輸入這麼多的確十分麻煩

1
gcc `gnustep-config --objc-flags` -L /GNUstep/System/Library/Libraries 
hello.m -o hello -lgnustep-base -lobjc


所以最好是用下面這種方式,使用Makefiles這個套件來協助編譯,將以下的程式碼貼到Notepad++或Ultra-Edit上,然後儲存到上面2.中的shell根目錄中,檔名為GNUmakefile(注意:沒有副檔名)

GNUmakefile
1
2
3
4
5
6
include $(GNUSTEP_MAKEFILES)/common.make
 
TOOL_NAME = LogTest
LogTest_OBJC_FILES = hello.m
 
include $(GNUSTEP_MAKEFILES)/tool.make


然後在shell中輸入「make」就可以看到以下的畫面,沒有出現錯誤就是編譯完成了,在hello.m的目錄下會出現一個新增的obj目錄,裡面會有一個LogTest.exe。

再輸入「 ./obj/LogTest」(注意:指令最前面有一個點)就可以看到以下的執行結果。

當然make是很聰明的指令,每次你如果有更改原始碼,再執行make後,它會重新再編譯一個新的執行檔出來。如果你要強制清除編譯的結果,可以執行「 make clean

最後的說明:
上面的GNUmakefile這個檔案中的第3和4行的LogTest,和編譯出來的執行檔名有關,如果你要更改編譯出的檔案名稱,記得這兩行都要一起更改才行。更多的Makefiles用法可以參考下面的參考資料。

參考資料:
  • Installing and using GNUstep and Objective-C on Windows
  • Writing GNUstep Makefiles


==========================================================================

GNUstep

1:  GNUstep

  首先,目前windows下没有Objective-C的IDE存在,ObjectiveEClipse是一款可选择的插件,搭配Eclipse3.5+CDT6.0,但是已经停止更新。GNUstep是提供类似Cocoa(苹果OS的开发框架)的API和工具,目前支持GNU/Linux and GNU/HURD, Solaris, NetBSD, OpenBSD, FreeBSD, Darwin和Windows,免费使

用。这个项目使Objective C能在多数流行平台上开发和运行。

 

 首先,目前windows下没有Objective-C的IDE存在,ObjectiveEClipse是一款可选择的插件,搭配Eclipse3.5+CDT6.0,但是已经停止更新。GNUstep是提供类似Cocoa(苹果OS的开发框架)的API和工具,目前支持GNU/Linux and GNU/HURD, Solaris, NetBSD, OpenBSD, FreeBSD, Darwin和Windows,免费使用。这个项目使Objective C能在多数流行平台上开发和运行。

  在Windows下搭建Objective C开发环境,需要到GNUstep官方网站上下载,四个软件包:GNUstep MSYS System、GNUstep Core、GNUstep Devel、Cairo Backend。其中,前两个软件包是必须要安装的,第三个软件包是安装一些开发工具,比如:gcc、g++等,所以如果是学习Objective C的话,这个包也是必须要安装,第四个软件包是安装glib等库,这个包安装不安装根据具体情况而定。安装路径不建议出现中文,安装后在环境变量PATH中增加: C:\GNUstep\GNUstep\System\Tools;C:\GNUstep\bin;C:\GNUstep\mingw\bin,安装后运行GNUstep shell也就是安装目录下的msys.bat。测试一下gcc与make命令。

测试程序 

1  #import <Foundation/Foundation.h>
2 int main (int argc, const char *argv[]) {
3 NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
4 NSLog(@"Hello World!");
5 [pool drain];
6 return 0;
7 }
复制代码

编译链接

 1:直接gcc编译链接方式

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

  其中:

    -I /GNUstep/System/Library/Headers  指明编译期间头文件包含目录

    -L /GNUstep/System/Library/Libraries 指明连接的库文件

    -lobjc链接属性,这样就不必显示的链接libobjc.a库,gcc收到这个链接属性会为我们完成这些事。

    -fconstant-string-class=NSConstantString指定常量字符串类型为NSConstantString

2:GNUmakefile方式

  写GNUmakefile如下:

  GNUSTEP_MAKEFILES=/GNUstep/System/Library/Makefiles
  include $(GNUSTEP_MAKEFILES)/common.make
  TOOL_NAME = test
  test_OBJC_FILES = ./main.m
  include $(GNUSTEP_MAKEFILES)/tool.make
复制代码

 注:其中TOOL_NAME定义为工程名称test,test_OBJC_FILES定义编译文件列表

   在GNUmakefile目录下执行make命令,得到可执行文件。

3:搭配IDE,选用CodeBlocks

编译器设定

 使用GNUStep安装的gcc,在C:\GNUstep\bin目录下。

1)   Settings->Compiler and debugger...

2)   选择GNU GCC Compiler点击copy,重新命名,例如"GNU GCC Obj-C Compiler"

3)   设定GNU GCC CompilerToolchain executables路径为C:\GNUstep\bin,也就是GNUstep的gcc所在目录。

4)   Compile settings->Other options添加-fconstant-string-class=NSConstantString

5)    Linker Settings->Other Link Options中添加-lobjc -lgnustep-base选项。

  如果出现问题,则可以选用另一种方式,去掉-lobjc -lgnustep-base选项,在Linker Settings->Link libraries中添加:

  C:/GNUstep/GNUstep/System/Library/Libraries/libobjc.dll.a  

  C:/GNUstep/GNUstep/System/Library/Libraries/libgnustep-base.dll.a

6)   Search directories->Complier添加头文件目录: C:\GNUstep\GNUstep\System\Library\Headers

 

添加源文件格式支持

1) Environment...,选择 Files extension handling添加  *.m*.mm
2) Project->Project tree, file types & categories...在 Source中添加*.m和*.mm
 

高亮显示

1)  Settings->Editor-> Syntax highlighting

2) 选择Filemasks...,添加*.m和*.mm

3) 选择 Keywords... 添加Keywords到列表框中

Keywords:

@interface @implementation @end @class @selector @protocol @public @protected @private id BOOL YES NO SEL nil NULL self
 
    
 
   

设置为可编译链接

1) .m文件右键->Properties

2) 选择build,选中 Compile file 和 Link file

3) 选择general,去除对File is read-only的选中

4) 注意,.h文件不要设置Compile file 和 Link file


你可能感兴趣的:(c,windows,gcc,compiler,编译器,objective,linker)