我想将 Box2d 集成到我的 OS X 应用程序中,所以我使用了以下 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
所以我想知道我该如何解决这个问题?
最佳答案
最后我自己弄明白了。
我已经创建了苹果文档中提到的桥接文件,但我放在那里的内容是:
//
// 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
文件中并不能解决编译器错误。
就是这样,现在它可以愉快地编译了。
关于c++ - 在 Swift 项目中集成 Box2d 会出现找不到 cassert 文件的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24500416/