gpt4 book ai didi

c++ - 找不到 Swift 编译器错误 'iostream'

转载 作者:搜寻专家 更新时间:2023-10-30 23:11:17 25 4
gpt4 key购买 nike

我试图实现一个我在 github 上找到的项目。

https://github.com/hossamghareeb/Facebook-POP-Tutorial

当我实现 .h 和 .m 文件时,我遇到了一个错误,提示 XCode 找不到我的“iostream”文件。

我在 SWIFT 工作,使用 bridging-headers 来使用框架。当我尝试构建原始项目时它可以工作,但我的总是失败。

enter image description here

如何添加我的 iostream 文件?

提前致谢!

最佳答案

Swift 桥接不支持 Objective C++ 文件。这意味着任何使用或公开 C++ 实体的 header (如 std::vectorstd::iostream)都不能添加到桥接 header 。

POP 桥接头包含:

#import "POP.h"

您实际上应该只#import 您自己的桥接 header 中的那个文件,而不是尝试#import 所有.h 文件。

如果您需要使用在 .mm 文件中定义的一些未通过 Objective C 或纯 C header 公开的 API,则您必须制作自己的 header 文件公开它(并且可能是一个实现你所公开内容的后端)。

之所以可以在 Swift 使用的库中使用 .mm 文件,是因为所有 swift 使用的都是这些文件的接口(interface)——即 .h文件,只要这些文件是纯 C 或 Objective C,那么您就可以使用 .mm 文件中实现的代码。 .mm 文件由 Objective C++ 编译器 (clang++) 编译

关于c++ - 找不到 Swift 编译器错误 'iostream',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29394545/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com