Xcode-将Objective C文件导入C文件

时间:2011-11-14 19:43:18

标签: objective-c xcode

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

#import <GLKit/GLKit.h>

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

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

GLKNamedEffect.h
Expected identifier or '('

2 个答案:

答案 0 :(得分:6)

如果您将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库。

答案 1 :(得分:1)

C不是objective-c,因此无法导入objective-c源或包含文件。 (换句话说,你被告知的是假的)