【问题标题】:Integrating Box2d in Swift project gets cassert file not found error在 Swift 项目中集成 Box2d 获取 cassert 文件未找到错误
【发布时间】:2014-06-30 23:29:48
【问题描述】:

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

pod 'box2d'

box2d的版本是2.3.0。在我从pod install 获得的 xcworkspace 中,我创建了一个桥头以与 C++ API 互操作(根据文档,开发人员无法直接从 Swift 语言导入 C++ 项目,您应该创建一个 ObjC 桥)。

当我点击构建按钮时,出现编译器错误:

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

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

【问题讨论】:

标签: c++ objective-c macos swift box2d


【解决方案1】:

最后我自己弄明白了。

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

//
//  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 文件中并不能解决编译器错误。

就是这样,现在它可以愉快地编译了。

【讨论】:

  • 一旦你解决了这个问题,你如何能够在你的 Swift 代码中使用 Box2D?能否提供代码示例?
猜你喜欢
  • 2012-08-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-21
  • 2013-07-28
  • 1970-01-01
相关资源
最近更新 更多