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是扩展名): 在shell中输入如下命令出错: C:/GNUstep/GNUstep/System/Library/Headers/Foundation/NSException.h:44:2: error: 说现在对native-objc-exceptions的设置与gnustep-base不匹配,native-objc-exceptions、gnustep-base是什么东东?又要在哪里设置呢? 遇到问题我们一定不要灰心、害怕,要坚信没有解决不了的问题! 我们要在C:\GNUstep\GNUstep\System\Library\Headers\GNUstepBase(请根据你的安装路径自行修改)中找到GSConfig.h文件: 用记事本、EditPlus、Notepad++等等打开,找到BASE_NATIVE_OBJC_EXCEPTIONS(没错,这就是上面的native-objc-exceptions),将其键值由1改为0: 保存并关闭。这时再次在shell中输入: 没有看到错误提示,哈哈,好像成功了,再输入ls命令看到生成了main.exe,打开home目录也确实生成了: 没错,我们看到又出错了!我们执行main.exe,它却说命令没有找到。。。 没事儿,很好解决,我们在前面加上./,如下:问题描述
#import <Foundation/Foundation.h>
int
main(
int
arvc,
char
* argv[]) {
NSLog(@
"Hello world!http://ju2ender.cnblogs.com"
);
return
0;
}
gcc -o main main.m -I/GNUstep/System/Library/Headers/ -fconstant-string-class=NSConstantString -L/GNUstep/System/Library/Libraries -lobjc -lgnustep-base
#error The current setting for native-objc-exceptions does not match that of gnu
step-base ... please correct this.问题解决
gcc -o main main.m -I/GNUstep/System/Library/Headers/ -fconstant-string-class=NSConstantString -L/GNUstep/System/Library/Libraries -lobjc -lgnustep-base
./main.exe