【发布时间】:2018-12-15 19:24:08
【问题描述】:
我有一个与 sqlite3 通信的本机库,它在 Android 中运行良好,所以,我为 iOS 编译它,编译过程顺利完成,但在令人兴奋的时候,即曾经在 Xcode 中构建 iOS 应用程序,我收到以下错误:
未找到架构 x86_64 的符号
架构 x86_64 的未定义符号: “_sqlite3_column_int64”,引用自: libgreetings.a 中的 rusqlite::statement::Statement::value_ref::h1ef4d7e4ee859386 (rusqlite-39d80e8cd3d6a115.rusqlite.99wt63ts-cgu.3.rcgu.o) “_sqlite3_column_blob”,引用自: libgreetings.a 中的 rusqlite::statement::Statement::value_ref::h1ef4d7e4ee859386 (rusqlite-39d80e8cd3d6a115.rusqlite.99wt63ts-cgu.3.rcgu.o) “_sqlite3_bind_int64”,引用自: rusqlite::statement::Statement::bind_parameter::hc14d4185381afdbf 在 ... ... ...
即使我更改了iOS Development target,如图所示here 并安装了模拟器iOS 10,并将Architectures 更改为$(ARCHS_STANDARD_32_BIT) 而不是$(ARCHS_STANDARD),如图here 我得到了同样的错误:
ld:未找到体系结构 i386 的符号
注意:该库是使用 rust 和rusqlite crate 构建的,在添加 sqlite 部分之前,该库被顺利调用并执行得非常好。
【问题讨论】:
标签: ios rust cross-compiling