在Swift项目中集成Box2d会出现cassert file not found错误

Integrating Box2d in Swift project gets cassert file not found error

本文关键字:cassert file not 错误 found 项目 Swift 集成 Box2d      更新时间:2023-10-16

我想在我的OS X应用程序中集成Box2d,所以我使用以下Podfile来抓取它:

pod 'box2d'

, box2d版本为2.3.0。在我从pod install得到的xcworkspace中,我创建了一个桥头与c++ api互操作(根据文档,开发人员不能直接从Swift lang导入c++项目,你应该创建一个ObjC桥)。

当我点击构建按钮时,我得到了一个编译器错误:

<unknown>:0: error: /path/to/project/Pods/Headers/Box2D/Common/b2Settings.h:22: 'cassert' file not found

所以我想知道如何解决这个问题?

最后我自己弄明白了。

我已经创建了在apple的文档中提到的桥接文件,但是我放在那里的内容是:

//
//  Use this file to import your target's public headers that you would like to expose to Swift.
//
#import <Box2d/Box2d.h>

这是编译器错误的根目录。所以,我必须创建一个新的Objective-C类,将.m文件重命名为.mm,并将导入行放在.mm文件中。注意:将导入行放在.h文件中不能解决编译错误。

就这样,现在它可以正常编译了