在 Swift 中为 macOS 构建框架时出错

Posted

技术标签:

【中文标题】在 Swift 中为 macOS 构建框架时出错【英文标题】:Errors while building framework for macOS in Swift 【发布时间】:2017-03-07 11:51:11 【问题描述】:

我在 Swift 中为 SQLite3 编写了一个包装器,它运行良好。

我想把它做成一个框架。

问题是:

要在 swift 中使用 SQLite3,我们应该使用桥接头导入 sqlite3.h。但是我在框架项目中没有桥接头的选项。

我创建了一个.c.h 并在.h 中导入了sqlite3.h 并制作了.h 公共标头。但它不起作用。它仍然给出use of unresolved identifier 错误。

如何将.c.cpp 文件导入到swift框架项目中?

谢谢!

【问题讨论】:

【参考方案1】:

我认为您只能使用项目中存在的头文件(如果我错了,任何人都可以纠正我)。因此,请将sqlite3.h 添加到您的项目中。

第 1 步:

搜索sqlit3.h

Xcode.app(右键)->显示包内容

第 2 步:

在您的Xcode.app 中搜索sqlite.h

第 3 步:

将该文件拖到您的 xcode 项目中并选择 copy items if needed

第 4 步:

从导航器中选择sqlite3.h,然后在右侧面板中将其更改为Public

第 5 步:

在 Xcode 为您创建的头文件中导入 sqlite3.h。您应该将其导入为#import "sqlite3.h"

第 6 步:

现在构建项目。它应该可以正常工作。

【讨论】:

有更简单的方法吗? @unknownymouse 你可以直接将你的源文件包含到你想使用 sqlite3 的其他项目中 感谢您的帮助。 很抱歉打扰您,您能帮忙解答一下这个问题吗***.com/questions/46741947/… ? @unknownymous 我目前很忙。我会调查的。

以上是关于在 Swift 中为 macOS 构建框架时出错的主要内容,如果未能解决你的问题,请参考以下文章

Xcode Swift:使用使用 pod (CocoaPods) 的框架时出错

在 Unity 中为 Android 构建播放器时出错? [复制]

在 macos 上从 pybind11 文档构建 python_example 时出错

如何在 Travis CI 中为 C++ 项目并行运行多个构建,每个构建都有单独的脚本?

在 swift 包管理器中添加 Apollo 的代码生成构建脚本时出错

如何在构建需要此包的 xcode 项目时链接 macOS 包所需的框架