如何在swift项目中使用c ++库来创建更好的glsl编译器

时间:2016-09-01 05:29:20

标签: c++ swift xcode

我正在尝试在我的快速项目中使用this glsl optimizer。我不知道这是否可能。

我真的不知道我在做什么,但我的猜测是在我的项目中拖动“libglsl_optimizer.a”。

然后我创建了一个桥接标题,然后输入#import "libglsl_optimizer.a"

然而,这会导致构建冻结。

如何让这个图书馆工作?我是以正确的方式来做这件事吗?

我通过下载zip获得了.a文件。在projects / xcode5 / glsl_optimizer_lib.xcproj中。然后我构建它然后抓住products文件夹中的结果。我把它拖进了项目。

编辑: 好的有趣的事情我尝试编译没有桥接头,我注意到这个警告

ld: warning: ignoring file /Users/MB/Desktop/XCode/Projects/ArrayParticles/Trillium/ArrayCreation/libglsl_optimizer.a, file was built for archive which is not the architecture being linked (armv7): /Users/MB/Desktop/XCode/Projects/ArrayParticles/Trillium/ArrayCreation/libglsl_optimizer.a

1 个答案:

答案 0 :(得分:1)

确保库的体系结构与目标体系结构(iOS设备或模拟器)匹配。

要更改glsl_optimizer_lib.xcproj(默认情况下定位到x86 MacOS)的架构,请打开目标设置并将Base SDK更改为iOS。这将自动选择标准arm *架构:

enter image description here

然后在模拟器和设备之间切换("通用iOS设备"),从方案选择器中选择它(默认为模拟器):

enter image description here

如果您想创建一个适用于iOS设备和模拟器的库,则需要构建一个多架构框架。