windows上搭建object-c遇到的有关问题

windows下搭建object-c遇到的问题

具体搭建步骤可参见donhao的:

一起来学Objective-C(1)——Window下开发环境安装和Hello World

http://blog.csdn.net/donhao/article/details/6731781

 

问题描述

但是我在下载、安装完毕,编写Hello World时遇到错误了,这对刚接触Objective-C的我是多么大的打击啊!

Objective-C代码,文件名main.m(m是扩展名):

#import <Foundation/Foundation.h>
 
int main(int arvc, char* argv[]) {
    NSLog(@"Hello world!http://ju2ender.cnblogs.com");
    return 0;
}

在shell中输入如下命令出错:

gcc -o main main.m -I/GNUstep/System/Library/Headers/ -fconstant-string-class=NSConstantString -L/GNUstep/System/Library/Libraries -lobjc -lgnustep-base

windows上搭建object-c遇到的有关问题

C:/GNUstep/GNUstep/System/Library/Headers/Foundation/NSException.h:44:2: error: 
#error The current setting for native-objc-exceptions does not match that of gnu 
step-base ... please correct this.

说现在对native-objc-exceptions的设置与gnustep-base不匹配,native-objc-exceptions、gnustep-base是什么东东?又要在哪里设置呢?

遇到问题我们一定不要灰心、害怕,要坚信没有解决不了的问题!

 

问题解决

我们要在C:\GNUstep\GNUstep\System\Library\Headers\GNUstepBase(请根据你的安装路径自行修改)中找到GSConfig.h文件:

windows上搭建object-c遇到的有关问题

用记事本、EditPlus、Notepad++等等打开,找到BASE_NATIVE_OBJC_EXCEPTIONS(没错,这就是上面的native-objc-exceptions),将其键值由1改为0:

windows上搭建object-c遇到的有关问题

保存并关闭。这时再次在shell中输入:

?
gcc -o main main.m -I/GNUstep/System/Library/Headers/ -fconstant-string-class=NSConstantString -L/GNUstep/System/Library/Libraries -lobjc -lgnustep-base

没有看到错误提示,哈哈,好像成功了,再输入ls命令看到生成了main.exe,打开home目录也确实生成了:

windows上搭建object-c遇到的有关问题

windows上搭建object-c遇到的有关问题

没错,我们看到又出错了!我们执行main.exe,它却说命令没有找到。。。

没事儿,很好解决,我们在前面加上./,如下:

./main.exe

windows上搭建object-c遇到的有关问题