黑马程序员技术交流社区
标题: 编译问题, 有懂的请进! [打印本页]
作者: 愿望 时间: 2014-7-19 13:24
标题: 编译问题, 有懂的请进!
本帖最后由 愿望 于 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看看调用)
作者: 为梦想挺身而出 时间: 2014-7-19 13:32
NSLog 这个L要大写
作者: 愿望 时间: 2014-7-19 22:18
。。。。我看好多次, 愣是没看出来, 我还记得我检查的时候“哦 ,是大写的” 这个L太坑了, 谢谢你, 目光如炬的小伙伴啊
作者: 为梦想挺身而出 时间: 2014-7-20 09:37
哈哈 这个我之前跟你一样 所以印象深刻
作者: 愿望 时间: 2014-7-20 14:45
哈哈! 熟练的问题
作者: 请叫我黄大仙 时间: 2016-1-26 00:14
唉.....一样的NSLog没大写,结果报错C99
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |