繁体   English   中英

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

[英]Building Swift, Objective-C and a Static C++ Library Together

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

从每个人看来,我应该能够使用静态库(包括必需的桥接头)构建我的Swift应用程序。

我做了一个屏幕流( https://vimeo.com/205082135 ),显示发生了什么,这就是为什么我在这里。

我可以获得Xcode 8(测试版3)来构建一个包含库甚至一些Objective-C代码的新项目。 一旦添加了桥接标头(即使是基本的include),带有链接器错误的XCode弹坑,就会抱怨它无法从标准C ++库(例如或)中找到某些类。 闻起来像Xcode的配置管理问题,我根本无法解决。

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

有人看过这种东西吗?

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM