准备学习一下objc,为以后的不时之需做点小准备,但是又没有预览要买MAC,所以只能借助于GNUsetp了,但是GNUstup貌似好久没有跟新了,对objc 2.0不太支持,网上找到了使用GNUstep环境编译clang来支持objc 2.0,有具体的方法以及编译好的bin。
具体请移步这里:https://solarianprogrammer.com/2012/03/21/clang-objective-c-windows/
我是懒人,就用了github上的懒人包,但是编译不理想,有警告和错误。上图。
虽然稍加修改就可以达到编译成功,但是还是觉得不舒服,所以就自己下载了clang源码按照前面clang-objective-c-windows的方法编译了。最新的3.5在GNUstep上编译不成功,原因是GNUstep的gcc版本有点低,4.6.1,所以下载了clang 3.4.2,完成了clang的编译和安装。
但是用clang 3.4.2 编译我的objc的时候,又出现问题了。
clang.exe: error: unknown argument: ‘-fexec-charset=UTF-8‘
我在 GNUstep\System\Library\Makefiles\Additional\base.make:63 找到了如下内容:
# For literal string handling, base requires the compiler to store the # string as UTF-8 AUXILIARY_OBJCFLAGS += -fexec-charset=UTF-8
注释掉了
AUXILIARY_OBJCFLAGS += -fexec-charset=UTF-8
这句,如下
# For literal string handling, base requires the compiler to store the # string as UTF-8 # AUXILIARY_OBJCFLAGS += -fexec-charset=UTF-8
在编译就没有问题了。
运行结果如下:
我自己编译的包会打包上传CSDN的,上传完成后会追加网址的。
以上就是对自己搭建windows objective-c学习环境的一个总结,希望能帮助有需要的人。
如果想自己编译clang,具体的过程在本文开始给出的网址中就有,如果是拿来主义的,可以直接下载我上传的包解压到E:\根目录下使用。
时间: 2024-10-12 15:48:19