zoukankan      html  css  js  c++  java
  • Windows下编译objective-C

    Windows下编译objective-C

     

    目录(?)[+]

     

    http://www.gnustep.org/experience/Windows.html

    ftp://ftpmain.gnustep.org/pub/gnustep/binaries/windows
    在上面的网站下载 
    gnustep-core-0.23.1-setup.exe
    gnustep-system-0.23.0-setup.exe
    Gorm-1.2.10-setup.exe
    SystemPreferences-1.1.0-setup.exe
    注意都下最新版本的吧.
    下好后,都是一路NEXT安装就好了.
    假设你装在D盘,
    >代码应该写在什么地方 
    然后说写代码,代码写在哪里都可以.就放C:/好了.
    >怎么生成运行
    假设你写一个程序叫 hello.m, 在c:/下面.
    那么打开cmd 用如下命令去编译,
    D:GNUstepmingwingcc.exe hello.m -o hello.exe -I D:GNUstepGNUstepSystemLibraryHeaders -L D:GNUstepGNUstepSystemLibraryLibraries -lobjc -fobjc-exceptions -lgnustep-base -fconstant-string-class=NSConstantString -enable-auto-import
    长是长了点,但是很容易懂的,简单说一下,
    最前面的是指定gcc.exe,这个你是肯定知道的.
    后面的 -I xxx 和 -L xxxx 分别是指编译的时候用到的头文件和库,
    主要是cocoa的一些库吧.
    再后面是一堆 Flag,也就是编译选项,看名字都拆差不多了.
    >我现在的问题是不知道代码应该写在哪里 
    >是新建TXT文档还是用什么其他的工具?
    看了上面的编译命令,我想你已经知道怎么写了吧,
    >能不能给推荐一个
    VIM你用过么?会用的话,它的好处就不多说了. 
    我正在用它,自定义热键,
    一个F8就过去编译,一个C-F8就看到运行结果,
    并不要你真正的去CMD下编译运行也可以的
    不会的话,就UE, EditPlus, 只要有objective c 语法提示的都可以吧.
    >是新建TXT文档还是用什么其他的工具?
    说白了,就是c程序啊,当然是txt格式的了.
    好了,重点的,安装 和 编译 都已经写给你了, 自己再研究一下吧.
    PS.顺便说下,这个环境的OC,不支持2.0特性,
    直接一点讲,不支持OC的属性操作,
    也就是那个 @property 标签识别不了的.

    ----------------------------------------------------------------------------------------------------------------------------

    ----------------------------------------------------------------------------------------------------------------------------

    ----------------------------------------------------------------------------------------------------------------------------

    转自: http://blog.csdn.net/hulefei29/archive/2010/02/21/5314018.aspx

    Objective-C现在几乎已经变成了苹果的专利了,可以直接在苹果的Xcode上编译Objective-C程序,但是在Windows平台下的编译工具就寥寥无几了,本身这种语言用的人就不是很多。今天在网上突然看到了有人发帖,可以在Windows平台下编译Objective-C,就抱着好奇的心态试了试。没想到,居然成功了,现在就把怎样搭建Objective-C编译平台的经验拿出来和大家分享。

    1、安装GNUstep
    GNUstep Windows Installer提供了Windows平台下的Object-C的模拟开发环境,一共有四个软件包,其中GNUstep SystemGNUstep Core是必装的,GNUstep DevelCairo Backend是选装的。只安装前两个就够了。

    2、编写Objective-C代码
    安装完成后,在开始菜单里的GNUstep选项里执行shell,就能打开命令行。直接在Windows里进入C:GNUstephomeAdministrator(我的是Administrator,可能有的不一样)目录,在这里用你喜欢的工具(现在UltraEdit和Notepad++编辑器好像可以代码高亮)编写Object-C程序。
    如:HelloWorld.m

    #import <Foundation/Foundation.h>

    int main (int argc, const char *argv[]) 
    {
    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
    NSLog(@"Hello World!");
    [pool drain];

    return 0;
    }

    3、配置环境变量
    这一步很重要。GNUstep.sh是用来设置GNUstep开发环境变量的,如果没有执行,就会有很多头文件,库文件,命令找不到

    在一个目录里写好了源代码以后,编写一个make配置文件,名字必须叫GNUmakefile,内容是

    include $(GNUSTEP_MAKEFILES)/common.make

    TOOL_NAME=Test
    Test_OBJC_FILES=HelloWorld.m

    include $(GNUSTEP_MAKEFILES)/tool.make


    可以修改上面的黑体部分

    然后就是
    make

    命令运行成功就可以看到新增了一个obj目录,里面就有你要的可执行文件和.o文件。

    OK 搞定了。

    ----------------------------------------------------------------------------------------------------------------------------

    ----------------------------------------------------------------------------------------------------------------------------

    ----------------------------------------------------------------------------------------------------------------------------

     GNUstep 安装

    原文地址 http://i4y.jsfirm.cn/page/read/127

    由于暂时还没有Mac的本本,只能现在Linux上练习Objective-C的语法了,安装的过程并不顺利,这里采用的平台依旧是Debian, Windows也是可以的,

    关于GNUstep 就不多说了,自己去官网看吧,总之就是一个跨平台的Objective-C的编译运行环境,下面开始安装:

    #apt-get install gnustep

    #apt-get install gnustep-devel

    #apt-get install libgnustep-base-dev

    #apt-get install gnustep-games

    这样就安装完毕了,(上面的安装包可以放在一起,一次安装完的,不要小看了那几个包,shitou可是花了很大功夫才找到的,为了表示寻找的痛苦,还是写长点吧,^_^)

    然后就是配置了,Firstly:

    #echo 'export LIBRARY_PATH=/usr/lib/GNUstep/System/Library/Libraries' >> ~/.profile

    #echo 'export OBJC_INCLUDE_PATH=/usr/include/GNUstep/Headers' >> ~/.profile

    #source ~/.profile

    然后执行GNUstep.sh的脚本,自动加载其他环境PATH:

    #chmod +x /usr/share/GNUstep/Makefiles/GNUstep.sh

    #source /usr/share/GNUstep/Makefiles/GNUstep.sh

    也加入.profile文件, 以便用户登陆系统时加载

    #echo 'source /usr/share/GNUstep/Makefiles/GNUstep.sh' >> ~/.profile

    这样就设置完毕了,然后就是写个ObjC的程序测试下了,在测试时可能会报的错是NXConstantString之类的错误, 办法就是:

    #gcc -o hello hello.m -fconstant-string-class=NSConstantString -lobjc -lgnustep-base

    这样就大功告成了, 好了,下面开始正式学习Objective-C.........

    ----------------------------------------------------------------------------------------------------------------------------

    ----------------------------------------------------------------------------------------------------------------------------

    ----------------------------------------------------------------------------------------------------------------------------

    Windows上使用Objective-c和Cocoa

    转自 : http://www.cnblogs.com/2018/archive/2010/12/25/1916764.html

    最近进行iPhone的开发,使用了Cocoa,感觉Cocoa设计很精致,Objecitive-c语法也很简单和易用,因此想是否在Windows下也有可以运行的环境,这样可以方便使用,否则只在MAC上用,安装虚拟机或购买硬件都比较麻烦,搜索了一下资料,还真有这方面的工具。

    关于cocoa跨平台的问题

    http://stackoverflow.com/questions/2049099/cocoa-programming-on-windows

    GNUStep

    http://www.gnustep.org/

    The purpose of this project is to create a free and open version of the Cocoa (formerly known as NeXTSTEP/OpenStep) APIs and tools for as many platforms as possible.

    GNUstep provides a robust implementation of the AppKit and Foundation libraries as well as the development tools available on Cocoa, including Gorm (the InterfaceBuilder) and ProjectCenter (ProjectBuilder/Xcode). GNUstep currently supports Unix (GNU/Linux and GNU/HURD, Solaris, NetBSD, OpenBSD, FreeBSD, Darwin) and Windows.

    可见这个开源项目建构了和Xcode InterfaceBuilder及Objective-c Cocoa的运行环境等系列的工具

    http://www.nongnu.org/gstutorial/zh_TW/index.htmlGnuStep中文文档和参考

    http://ftp.gnustep.org/pub/gnustep/binaries/windows/ 这个可以下载Windows版本下的各个执行文件

    Cocotron

    http://www.cocotron.org/

    Cocotron项目的目标是实现一个跨平台的类似苹果公司Cocoa的Objective-C API。包括AppKit、Foundation、Objective-C运行库和支持其他函数库,诸如CoreGraphics和CoreFoundation。

    http://www.cocoachina.com/b/?p=144

    通过比较gnuStep比较完整,可以作为整个环境的体验和学习开发使用,Cocotron就没有再细看

    GnuSetp安装和使用

    http://ftp.gnustep.org/pub/gnustep/binaries/windows/ 在这个路径可以下载Windows下的执行文件,上层目录可以看到各个版本的代码和文档等等内容

    最新版本的安装

    http://www.gnustep.org/experience/Windows.html

    objective-c和Cocoa框架的编译环境

    gnustep-msys-system-0.25.1-setup.exe

    gnustep-core-0.25.0-setup.exe

    gnustep-devel-1.1.1-setup.exe

    gnustep-cairo-0.22.1-setup.exe

    类似Interface Builder的界面设计工具

    gorm-1.2.12-setup.exe

    例子工具

    gnustep-examples-1.3.0.tar.gz

    gworkspace-0.8.8.tar.gz

    ProjectCenter-0.6.0.tar.gz

    SystemPreferences-1.1.0-1-setup.exe

    上面这个版本的ProjectCenter需要自己编译使用[代码中有相关的文档说明]

    http://www.jaysonjc.com/programming/objective-c-programming-in-windows-gnustep-projectcenter.html

    是一个使用已有版本的功能说明,使用以下:

    gnustep-system-0.22.0-setup.exe

    gnustep-core-0.22.0-setup.exe

    gnustep-devel-1.0.0-setup.exe

    gorm-1.2.8-setup.exe

    ProjectCenter-0.5.0-setup.exe

    按照以上的顺序安装,就把编译环境项目工具、界面工具安装完成

    [我的机器上安装完后(Windows7 64)Build项目时提示make文件找不到,没有找到好的解决办法,有空可以再看看ProjectCenter的代码,有ProjectCenter熟悉一下工程的组织就行了,可以使用make命令行自己编译]

    http://www.gnustep.org/experience/PierresDevTutorial/index.html

    这个地址讲述了ProjectCenter gorm建立项目和界面的步骤

    安装好的程序组菜单,Shell可以启动MingW Shell环境,此时可以使用gcc g++ make等工具,对于linux等熟悉的对这个很清楚

    Gorm ProjectCenter是启动的命令

    image

    Shell窗口:可以编译项目等操作

    image

    Gorm窗口:设计界面和组件布局

    image

    ProjectCenter窗口:项目建立、代码高亮察看

    image

    简要总结

    GnuStep可以使用Objective-c和Cocoa,注意这个Cocoa和apple的官方cocoa实现还是有差别的。

    这个工具实现了AppKit,对于iOS的UIKit没有实现

    不过只要对这个熟悉了以后,那么进行iPhone/iPad和MAC的开发很容易

  • 相关阅读:
    SPOJ 694 (后缀数组) Distinct Substrings
    POJ 2774 (后缀数组 最长公共字串) Long Long Message
    POJ 3693 (后缀数组) Maximum repetition substring
    POJ 3261 (后缀数组 二分) Milk Patterns
    UVa 1149 (贪心) Bin Packing
    UVa 12206 (字符串哈希) Stammering Aliens
    UVa 11210 (DFS) Chinese Mahjong
    UVa (BFS) The Monocycle
    UVa 11624 (BFS) Fire!
    HDU 3032 (Nim博弈变形) Nim or not Nim?
  • 原文地址:https://www.cnblogs.com/u0mo5/p/4933276.html
Copyright © 2011-2022 走看看