本帖最后由 愿望 于 2014-7-19 22:15 编辑
这段代码,是我为了先熟悉而照着老师原文而敲打的。可是我编译的时候却出错了,仔细看了几遍,没有发现我的和老师有不一样的,但是老师的却编译通过了。 我的怎么不行, 编译结果用谷歌翻译看了一下,说是 在C99中无效[使用-Wimplicit函数声明] , 这个我就不懂了,是版本的什么问题么, 我不懂的, 有懂的请说下,感激不尽! 最好能有解决办法
#import <Foundation/Foundation.h>
@interface Car : NSObject { @public int wheels; int speed ; } @end
@implementation Car @end
int main() { Car *p = [Car new]; p->wheels = 4; p->speed = 100; NSlog(@"车子有%d个轮子,时速是%dkm/h", p->wheels, p->speed); return 0; }
这是我编译的结果 警告 bogon:0719 smile$ cc -c 第一个oc的类.m 第一个oc的类.m:23:5: warning: implicit declaration of function 'NSlog' is invalid in C99 [-Wimplicit-function-declaration] NSlog(@"车子有%d个轮子,时速是%dkm/h", p->wheels, p->speed); ^ 1 warning generated.
链接的时候额外又多了个错误Undefined symbols for architecture x86_64: "_NSlog", referenced from: _main in 第一个oc的类-2af46c.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) 谷歌翻译是:未定义的符号为x86_64的架构: “_NSlog”,从引用: _main中第一个OC的类 错误:链接器命令失败,退出代码为1(使用-v看看调用)
|