在.mm文件objective-C/xcode中使用不带头的C文件
我有一个.c文件(没有头),其中有一些函数。我有另一个.mm文件,它应该调用该.c文件中的函数。这在我从中获取文件的xcode项目中起作用。但是,当我将此文件添加到自己的项目并执行此操作时。我收到以下错误:在.mm文件objective-C/xcode中使用不带头的C文件,objective-c,xcode,Objective C,Xcode,我有一个.c文件(没有头),其中有一些函数。我有另一个.mm文件,它应该调用该.c文件中的函数。这在我从中获取文件的xcode项目中起作用。但是,当我将此文件添加到自己的项目并执行此操作时。我收到以下错误: Undefined symbols for architecture armv7: "Init(Context*)", referenced from: -[EAGLView initWithFrame:] in EAGLView.o ld: symbol(s) not fo
Undefined symbols for architecture armv7:
"Init(Context*)", referenced from:
-[EAGLView initWithFrame:] in EAGLView.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
我的.mm文件中确实有这一行:
int Init(Context *context);
可能是
.c
文件没有头的原因之一-其中的函数是私有的,它们有可能被定义为静态的
。如果是这种情况,请删除static
关键字并重新编译。函数位于.c文件中,如下所示,非静态。int Init(Context*Context){…}@user2158259在本例中,还有其他问题。提供更多信息如何?我决定将特定的.c文件分为objective-c,这样就解决了我遇到的问题。谢谢你的帮助。