A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 愿望 中级黑马   /  2014-7-19 13:24  /  2711 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 愿望 于 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看看调用)



评分

参与人数 1技术分 +1 收起 理由
傘が咲く + 1

查看全部评分

5 个回复

倒序浏览
NSLog  这个L要大写

评分

参与人数 1技术分 +1 收起 理由
傘が咲く + 1

查看全部评分

回复 使用道具 举报

。。。。我看好多次, 愣是没看出来, 我还记得我检查的时候“哦 ,是大写的”   这个L太坑了,  谢谢你, 目光如炬的小伙伴啊
回复 使用道具 举报
愿望 发表于 2014-7-19 22:18
。。。。我看好多次, 愣是没看出来, 我还记得我检查的时候“哦 ,是大写的”   这个L太坑了,  谢谢你, ...

哈哈  这个我之前跟你一样 所以印象深刻
回复 使用道具 举报
为梦想挺身而出 发表于 2014-7-20 09:37
哈哈  这个我之前跟你一样 所以印象深刻

哈哈! 熟练的问题  
回复 使用道具 举报
唉.....一样的NSLog没大写,结果报错C99
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马