我编译了Berkeley DB库并将其包含在Xcode 4.2中的iOS项目中。该项目编译得很好,但是当我运行它时,我得到以下错误:
BDB1539构建签名与环境
不匹配
。
这里有很多例外,没有有用的信息
终止调用抛出异常(gdb)
该项目是Xcode附带的模板之一。我唯一改变的是添加了berkeley库的标题,链接了库本身并在模型控制器的init中创建了一个DB实例。
我在库上运行了lipo以确保它是正确的架构并得到以下结果:
>lipo -info libdb_cxx-5.3.a
input file libdb_cxx-5.3.a is not a fat file
Non-fat file: libdb_cxx-5.3.a is architecture: i386
它似乎是正确的架构。
在这里调试出错的合理方法是什么?
答案 0 :(得分:1)
实际上,也遇到了这个问题,之所以发生这种情况,是因为我使用调试库创建了数据库,并尝试稍后使用release打开它。让人们意识到的东西......
答案 1 :(得分:0)
事实证明“构建签名与环境不匹配”是我在传入unix路径而不是iOS路径作为环境的DB位置时触发的Berkeley DB异常。