当包含c++文件时,构建失败
objective c - Build fails when including C++ files
我有一个XCode项目(Objective-C),我试图添加一个 c++ 库,我之前已经编码。只要我添加一个.cpp
或.mm
文件,构建过程就会在随机的事情上出错,通常是在构建前缀头时。同样的事情发生时,我包括.c
文件。基本上,我只能在我的目标中使用.m
文件。我得到的最后一个错误是:
SDKpath/公共/CoreGraphics.framework/头/CGFont.h: 53:
错误:';'标记前期望的构造函数、析构函数或类型转换
那一行的代码是:
CG_EXTERN CGFontGetGlyphsForUnichars(CGFontRef font, void* chars, CGGlyph* glyphs, int len)
CG_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_2_0);
我很确定代码不是造成这个问题的原因,但我不知道我的构建设置出了什么问题。如果我去掉这个include,那么构建过程就会在它到达的第一个Objective-C代码上出错。
这是我的前缀头:
#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);
您需要将编译目标设置为objective - c++或将C/c++代码文件的文件扩展名更改为。mm。对于整个库也是如此。
我也很确定编译器总是定义OBJC宏,所以如果你不想包含该代码,你需要找到一个不同的方式来隐藏它从编译器
相关文章:
- docker 构建失败:无法设置环境变量
- 构建失败错误:无法使用 qibuild 构建C++ SDK Helloworld
- 使用提升库构建失败
- Vcpkg Pango CMake 构建失败缺少头文件
- 调试模板时出现问题.专门针对 Linux GCC 7、GCC 6、GCC 5、GCC 4.9 错误构建失败:模板参数 1
- CUDA opencv 构建失败 - 缺少实际存在的文件
- Xcode OSX上的C++构建失败,出现多个错误文件IO..不可用:在macOS 10.15中引入
- 使用 QT 执行二进制构建失败
- 基于CMAKE的CUDA应用程序的构建失败 - 没有传递给链接器的文件
- 在我的 cpp 或头文件中找不到错误,类构建失败
- 节点构建失败。无法在包含目录的子目录中找到库头文件
- dlib构建失败,无法导入dlib
- 实施 SystemC TLM 测试平台构建失败
- GTKMM-3.0:使用PKG-Config的程序构建失败的MSYS2 NetBeans
- C 如何停止对象构建失败的执行
- OPENCV UWP构建失败
- cocos2d-x android构建失败
- dlib示例,测试构建失败
- 在Xcode上使用I/O套件的方法时,构建失败将失败
- 构建失败:重新定义;不同的基本类型和类型名称首次使用"类"出现,现在使用"struct"