在Swift项目中设置C ++库依赖项

如果我们知道窍门的话,这并不棘手。

T L; DR Swift无法直接读取C ++代码,但是如果我们使用Objective C ++将C ++库包装到一个Objective-C模块中,它将可以解决问题。

第一步:创建一个Objective-C项目

Xcode->新建->项目->可可触摸框架->语言:Objective-C->下一步。 我将项目命名为CppDependencyTutorial

第二步:设置项目依赖项

我有一个名为ExampleC ++ Library的静态C框架。 将ExampleC ++ Library.xcodeproj拖到CppDependencyTutorial项目中。

选择目标CppDependencyTutorial- > general- >链接的框架和库-> Add libExampleC ++ Library.a

第三步:创建一个Objective-C包装器

选择目标CppDependencyTutorial- > File-> New-> iOS-> Cocoa Touch class-> Next。 我将类CppDependencyWrapper命名为NSObject的子类,语言为:Objective-C。

重要步骤 ❗:重命名 CppDependencyWrapper.mCppDependencyWrapper.mm 。 它成为同时支持C ++和Objective C的Objective-C ++文件。

CppDependencyWrapper.mm文件中,导入C标头路径。

第五步:在Swift项目中使用Objective-C模块

选择CppDependencyTutorial项目-> 常规 ->单击“ +”以添加新的快速测试目标-> iOS-> iOS单元测试包->为其命名->完成。

转到ObjCWrapperTutorialTests.swift并编写一些代码。

现在CMD + U! 如果运行成功,则意味着我们正在快速项目中使用包装在Objective C中的c ++函数!

要下载该项目吗? 点击这里。

简介:为了能够在Swift项目中使用C ++库,我们可以使用Objective-C ++将其包装到Objective C模块中。 包装头作为公共头公开,而C ++库只是一个子项目。

如果您想知道如何在Swift项目中导入C库,请查看本文。

所以你怎么看? 您是推特用户,喜欢与我讨论话题吗? 我的推特:@humlelu。