swfit目前还是os x独占,以后会不会扩展到其他系统还未可知,但objective-c并不只存在于os x,在linux下gcc和clang都支持obj-c哦,下面简单把如何在ubuntu上构建obj-c做一下说明:
1 安装obj-c或obj-c++(如果需要的话)所需库:
* build-essential
* gobjc
* gobjc++
* gnustep-devel
直接用apt-get install 搞定吧 :)
2 用经典的hello world试一下吧:
神马情况,肿么出错鸟?看出错代码明显是少了链接库文件,度娘搜之,发现少链了 objc 库,加上则通过:
我们再试试clang:
貌似又不能通过,未知参数啊!那么我们暂且将该参数从列表中去掉再试试吧:首先展开gnustep-config --objc-flags列表,
然后从中去除上述选项,然后再编译:
傻办法,不是吗?不过这回没问题啦.我们可以看到用clang生成的可执行文件比gcc生成的将近大一倍,具体什么原因初学的我还不清楚哦.
另外一个要注意的是,gcc和clang虽然都可以编译obj-c代码,但是具体看来可能会有差异,比如以下代码,在gcc中无法编译通过:
会报如下错误:
但是clang中是没有问题的,原因仍然未知 :(
如果是在os x上用clang编译,可以用以下命令: