我有一个 XCode 项目 (Objective-C),我试图向其中添加一个我之前编写的 C++ 库。只要我添加一个 .cpp
或 .mm
文件,构建过程就会随机出现问题,通常是在构建前缀 header 时。当我包含 .c
文件时,也会发生同样的事情。基本上,我只能在目标中使用 .m
文件。我遇到的最后一个错误是:
SDKpath/public/CoreGraphics.framework/Headers/CGFont.h:53:
error: expected constructor, destructor, or type conversion before ';' token
该行的代码是:
CG_EXTERN CGFontGetGlyphsForUnichars(CGFontRef font, void* chars, CGGlyph* glyphs, int len)
CG_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_2_0);
我很确定代码不是导致该问题的原因,但我无法弄清楚我的build设置有什么问题。 如果我去掉那个 include,那么构建过程会在它到达的第一位 Objective-C 代码上出错。
这是我的前缀 header :
#ifdef __OBJC__
#import <Foundation/Foundation.h>
#import <CoreGraphics/CoreGraphics.h>
#import <IOSurface/IOSurfaceAPI.h>
#import "CGColorUtil.h"
#endif
最佳答案
我是个傻子。由于某种原因,函数中缺少返回类型。
CG_EXTERN void CGFontGetGlyphsForUnichars(CGFontRef font, void* chars, CGGlyph* glyphs, int len)
CG_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_2_0);
关于c++ - 包含 C++ 文件时构建失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6692406/