我想在Objective-C中编写一个独立的函数; 所以基本上是一个C风格的函数,其中有Objective-C调用.例如:
NSString* someFunc()
{
NSString* str = [[NSString alloc] init];
return str;
}
Run Code Online (Sandbox Code Playgroud)
我在头文件中声明了该函数,并在其中定义了一个.m文件.但是,该函数似乎没有编译,因为链接器抱怨丢失的符号.我想也许我应该把它放在一个C文件中,但当然它在我身上骂我在BASI写的Objective-C Nonsense ... C.
做什么?
事实证明这是我犯的一个愚蠢的错误。该函数是在 .m 文件中定义的,但我试图在 .mm 文件(C++/Objective-C)中使用它,所以它自然会寻找 C++ 损坏的符号。推杆
#ifdef __cplusplus
extern "C" {
#endif
// Declaration
#ifdef __cplusplus
}
#endif
Run Code Online (Sandbox Code Playgroud)
头文件中修复了这个问题。
| 归档时间: |
|
| 查看次数: |
868 次 |
| 最近记录: |