iOS开发Implicit declaration of function 'XXXX' is invalid in C99” 报错问题

来源:互联网 发布:js多条件判断 编辑:程序博客网 时间:2024/05/29 10:26

 之前代码在Xcode5.1上面跑的好好的,但是自从升级到6.0之后,就经常出现编译报错问题。后来查阅的相关资料,好像是Xcode为了兼容Swift语言,更换来编译系统(名字忘记了)。于是就报了一个C语言的C99编译错误,不说了,直接上代码。

一般出现该问题是因为通过C调用了unix/Linux 底层接口,所以需要调整c语言的编译选项,设置方法见下图:(根据实际情况选择相应的编译选项)

(Xcode默认的是GNU99[-std=gnu99])


我更换了C语言的编译之后,又紧接着来了这样的一个报错。



conflicting types for ‘方法名’ 的错误。这个方法走的是C语法,报错的意思就是说要走这个方法之前必须要先声明(我不明白为什么XCODE5.1上面没有这种坑爹的问题,这是api,怎么声明?),后来我点击COMMAND进入这个方法发现这个方法原来是苹果原生API的底层方法


通过上面查看这个API的路径,最后我在这个文件里面导入了

#import <OpenGLES/ES1/gl.h>


OK了,问题终于解决了。

相信最新的Xcode6编译系统会让很多三方api底层的C代码造成很多的问题,这里先记录下来,以免下次再出现忘记了解决流程。


原文链接点击打开链接

1 0
原创粉丝点击