objective-c – Xcode-将Objective C文件导入C文件

如果我创建一个c文件并将其添加到顶部.

#import <GLKit/GLKit.h>

我收到一堆奇怪的错误.如果我导入任何目标C文件就是这种情况.我在其他问题/答案中没有看到这个.每个人似乎都建议C和Objective C无缝地协同工作!

gl.h
Unknown type name 'GLenum'; did you mean 'enum'?

GLKNamedEffect.h
Expected identifier or '('

解决方法

如果将c文件从something.c重命名为something.m,则应该可以使用:

#import <GLKit/GLKit.h>

在你的文件中.现在,如果你这样做,生成文件将是一个Objective-C文件,需要编译Objective-C编译器,因此需要指定.m扩展名.

换句话说,Objective-C是一种构建在C之上的语言.所以你可以“混合”它们的语法,可以这么说,但只有Objective-C编译器能够编译混合. C编译器对ObjC一无所知.

通过更改文件的扩展名,您可以选择编译器,并且可以使用“普通C”文件导入Objective-C标头并调用某些Objective-C库.

@H_404_40@

相关文章

我继续收到以下错误: duplicate symbol _llvm.embedded.module in: /Users/name/Documents/FacebookSD...
我的应用程序使用firebase的observeSingleEventOfType相当不错,我意识到,我的应用程序的内存随着时间...
什么是存档扩展的权利.xcent文件? 这个文件在iOS应用程序中的用途是什么? 当我们通过Xcode存档:Prod...
我最近收到了从iTunes连接的崩溃报告。其实这是我从数千用户那里得到的唯一的崩溃报告。这是一个iPod4,...
所以Xcode 8最近被发布了,我仍然不确定究竟可能导致这个问题(可能只是这个事实,它是Xcode的beta版本,...
图标已经包含光泽效果不适用于iOS 6上使用SDK 7编译的xCode 5。如何解决此问题?项目上的图像资产已启用...