windows 下 Objective C 编译环境搭建

【摘要】

介绍Objective C++ 在windows 环境下的搭建知识. 注意, 本文的目的只是为了搭建一套学习语言的环境, 而非发布一个AppStore的应用. 如果要发布应用, Windows平台似乎无能为力, 因此如果找寻发布应用的环境搭建. 与本文无关.


附带说一句: 写完这个博客后的一个月, 我入手了MAC AIR——作为一个开发人员, 将时间花费在无休止的跟环境做斗争上面去, 实在是有些无聊。 所以我决定不浪费有限的生命,花钱消灾。 后面我就慢慢一步步熟悉一下MAC开发环境, 逐步过渡到IOS系统级开发。 


所以我建议您不要往下看了。 如果您是闲得蛋疼、有时间没金钱, 当然可以考虑在非MAC平台学习OBJ-C, 但你要知道, 没有产品去练手, 永远都是白费精力。


【核心内容】

通过GCC编译环境实现对Objective C++的编译.  原本采用 Cygwin + GNUstep, 发现Cygwin配置存在问题, 后面改用GNUStep官方使用的MinGw直接一键式安装.

Cygwin的安装方式将后续持续关注, 有进展将更新本博客, 目前请绕过Cygwin的内容.


环境搭建步骤:

1. 下载Cygwin,  请找其它资料了解如何搭建这样一个环境, 我们利用Cygwin的目的, 仅仅是利用其提供的GCC编译组建, 并且Cygwin可以在windows下面很好的运作.


2. 下载核心GNUstep核心组件

     这里可以找到

    这些组件包括四个:

   1.  GNUstep Make 
   2. GNUstep Base 
   3. GNUstep GUI
   4. GNUstep Backend


3. 按照提示安装

   用户文档    大致的步骤如下, 【强烈建议按照英文参考文献】:

  •    先安装 GUNstep Make. 就是将这个包解压缩后, 在Cygwin下运行几个命令
    •   ./configure
    •   make
    •  make install
    • ./usr/local/share/GNUstep/Makefiles/GNUstep.sh
  •    然后安装 gnustep-base, gnustep-gui and finally gnustep-back. 就是./Configure后面在make 和install

  

4. 后面出了一堆错误

   Pre-requisites

      

     重新将需要的Cygwin包加入, 依然在安装GNUStep base的时候, 报如下错误:

          ld returned 1 exit status
    [4]: *** [obj/libgnustep-base.dll.a] Error 1
    [4]: *** Deleting file `obj/libgnustep-base.dll.a'
    [3]: *** [internal-library-all_] Error 2
    [2]: *** [libgnustep-base.all.library.variables] Error 2
    [1]: *** [internal-all] Error 2
    : *** [internal-all] Error 2

   非常郁闷中, 原因竟然是不支持Cygwin.

   按照上文提示: 直接用MinGW Installer搞定.

  下载链接   选中1. GNUstep MSYS System [这个是MinGW的套件] 这个必须要

                             2. GNUstep Core 核心包, 这个必须要

                             3. GNUstep Devel 这个必须要, 因为GCC都在里面, 如果你安装过其它的GCC版本, 建议卸掉,在安装这个

                             4. 其它的没试过,   但建议都安装上


现在开始可以编译了, 站在牛人的肩膀上 看看

Objective-C:GCC+GNUstep配置


按照上文提示: 这个编译指令应该没有问题:


gcc -fconstant-string-class=NSConstantString -c main.m -I /GNUstep/System/Library/Headers


实际上报错了: 提示如下:

: error: #error The current setting for native-objc-exceptions does not match th
at of gnustep-base ... please correct this.

找到一篇文章对付这个扯蛋的问题:

解决方案

这样是可行的:

$ gcc  `gnustep-config --objc-flags` -fconstant-string-class=NSConstantString -c main.m -I /GNUstep/System/Library/Headers


有兴趣可以研究一下该文。我也会更新一下本人的理解


但本文最大的目标不是玩上面的命令行, 而是用IDE的方式快速进行工程管理, 采用的方式是: Eclipse + GNUstep配套组建MinGW来完成. 后面继续补上





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值