我试图实施我在github上找到的项目。
https://github.com/hossamghareeb/Facebook-POP-Tutorial
当我实现.h和.m文件时,我发现了一个错误,即XCode无法找到我的' iostream'文件。
我在SWIFT工作,使用桥接标头来使用框架。当我尝试构建原始项目时,它可以工作,但我总是失败。
如何添加我的iostream文件?
提前致谢!
答案 0 :(得分:4)
Swift桥接不支持Objective C ++文件。这意味着任何使用或暴露C ++ entites的标头(如std::vector
; std::iostream
)都无法添加到桥接标头中。
POP桥接标题包含:
#import "POP.h"
您应该只在自己的桥接标题中#import
该文件,而不是尝试#import
所有.h
个文件。
如果您需要使用.mm
文件中定义的某些API,这些API未使用Objective C或纯C标头公开,那么您必须制作你自己的头文件暴露它(可能是一个实现你已经暴露的后端)。
您可以在Swift使用的库中使用.mm
文件的原因是因为所有快速使用都是这些文件的接口 - 即.h
文件,以及只要这些文件在普通C或目标C中,您就可以使用.mm
文件中实现的代码。 .mm
文件由Objective C ++编译器(clang++
)