我有一个.m文件,最近必须包含对C ++命名空间的引用,这意味着我需要将其重命名为.mm扩展名。这似乎工作正常,但现在,无关的函数调用有链接器错误。以前我在标题中有以下内容没有问题:
void CMLogMessage(NSString *Message, ...);
一旦我将相应的.m文件更改为.mm,我现在收到以下链接器错误:
Undefined symbols for architecture i386:
"_CMLogMessage", referenced from:
(Code References From .m Files Here)
我最好的
答案 0 :(得分:1)
您正在获得C ++名称修改。声明函数有C链接:
#ifdef __cplusplus
extern "C" {
#endif
void CMLogMessage(NSString *message, ...);
#ifdef __cplusplus
}
#endif