zoukankan      html  css  js  c++  java
  • Windows下编译objectiveC

     

    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:\GNUstep\mingw\bin\gcc.exe hello.m -o hello.exe -I D:\GNUstep\GNUstep\System\Library\Headers -L D:\GNUstep\GNUstep\System\Library\Libraries -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:\GNUstep\home\Administrator(我的是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的开发很容易

  • 相关阅读:
    Spring Boot面试杀手锏————自动配置原理
    session在什么时候创建,以及session一致性问题
    IaaS、PaaS、SaaS、DaaS都是什么?现在怎么样了?终于有人讲明白了
    FaaS,未来的后端服务开发之道
    架构师必须了解的30条设计原则
    vuejs2.0使用Sortable.js实现的拖拽功能( 转)
    Spring配置中的"classpath:"与"classpath*:"的区别研究(转)
    Java静态类
    CGLIB(Code Generation Library)详解
    hive--udf函数(开发-4种加载方式)
  • 原文地址:https://www.cnblogs.com/sinpo/p/2243973.html
Copyright © 2011-2022 走看看