gpt4 book ai didi

c++ - 一起构建 Swift、Objective-C 和静态 C++ 库

转载 作者:搜寻专家 更新时间:2023-11-01 05:35:12 28 4
gpt4 key购买 nike

我有一个来自第三方 SDK 的静态库 — 它是 FIT SDK,可对“灵活且可互操作的数据传输协议(protocol)”进行编码和解码,用于各种运动和健身设备。它是一种二进制格式,在 SDK 中有详细描述,它还附带了一堆 CPP、C-Sharp 和 Objective-C 示例 — 以及一个从 CPP 源代码构建的静态库。

根据每个人的说法,我应该能够使用静态库构建我的 Swift 应用程序,包括必需的桥接 header 。

我制作了一个屏幕流 ( https://vimeo.com/205082135 ) 来展示发生了什么,这就是我来这里的原因。

我可以获得 Xcode 8(测试版 3)来构建一个包含库甚至一些 Objective-C 代码的全新项目。一旦我添加了桥接 header ,即使有一个基本的包含,XCode 也会出现链接器错误,提示它无法从标准 C++ 库中找到一些类,比如 or 。听起来像是 Xcode 的配置管理问题,我根本无法解决。

我的库示例项目在这里:https://github.com/bleeckerj/Xcode-FIT-TEST

有人见过这种事吗?

最佳答案

因此,通过一些帮助以及大量时间和试验,我设法解决了问题并回答了我自己的问题。

实际上,我们需要一个围绕 C++(或 Objective-C++)类的 Objective-C 包装器,其中包含您想要公开并从 Swift 调用的代码。然后是仅公开该 Objective-C 类的桥接 header 。这个特殊的桥接 header 听起来很简单,现在它实际上很简单——但这对我来说是个谜。这是一个很长的故事,所以我将其作为示例存储库的一部分进行解释 https://github.com/bleeckerj/fit-sdk-with-swift派生自 FIT SDK,通过示例回答问题。

希望这能够帮助遇到此问题的任何人。

关于c++ - 一起构建 Swift、Objective-C 和静态 C++ 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42383838/

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