c++ - 包含 C++ 文件时构建失败

标签 c++ objective-c xcode build

我有一个 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/

相关文章:

c++ - 使用 C++ 编写文件和目录

c++ - 修改参数的函数的完美返回

ios - 捆绑子目录访问

ios - 使用 NSUserDefaults 的整数值

ios - 如果我在 Build Phases 中将 StoreKit 的状态设置为可选,Parse 会正常工作吗

iphone - 如何恢复所有那些好的旧 Xcode 功能?

xcode - 选择 Xcode 6 Beta 时 UITabBarItem 图像消失

c++ - 避免在禁用复制的 POD 类型的 memcpy 上出现 `-Wclass-memaccess`

c++ - 我可以在不锁定包含该文件的文件夹的情况下在 C++ 中读取 Windows 中的文件吗

objective-c - 应用内购买更新应用程序