我正在开发 iPhone 应用程序。该应用程序必须连接到 Firebird。我正在尝试通过使用 IBPP 来实现这一目标。
我的问题是,当我尝试在 Xcode 中构建和运行我的项目时,出现 Apple Mach-O 链接器错误:
Undefined symbols for architecture i386:
"_isc_array_get_slice", referenced from:
ibpp_internals::GDS::Call() in _ibpp.o
"_isc_array_lookup_bounds", referenced from:
ibpp_internals::GDS::Call() in _ibpp.o
"_isc_array_put_slice", referenced from:
ibpp_internals::GDS::Call() in _ibpp.o
"_isc_attach_database", referenced from:
ibpp_internals::GDS::Call() in _ibpp.o
"_isc_blob_info", referenced from:
ibpp_internals::GDS::Call() in _ibpp.o
.
.
.
看来我也有类似的问题: http://sourceforge.net/p/ibpp/bugs/28/
但答案对我来说意义不大:
Sorry its Ok I forgot to link the -lfbclient
我假设我需要链接 Firebird 客户端库或添加框架或其他东西,但是当我尝试添加 Firebird 框架时,我也遇到链接器错误:
ld: building for iOS Simulator, but linking against dylib built for MacOSX file '/.../Firebird.framework/Firebird' for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
有人能一步一步地向我解释我应该怎么做才能强制 IBPP 在 Mac OS X 上的 Xcode 中使用 objective-c 吗?
最佳答案
- 首先你必须确保你已经下载并安装 你正在开发的机器上的 Firebird 。 Firebird Download OSX Section
- 然后,在你安装这个之后,你必须去你的项目并添加 一个新的框架(项目 > 目标 > 链接框架和库)。
- 您必须“添加其他”> /Library/Frameworks/Firebird.framework
应该修复此链接器错误。
关于c++ - 在 Xcode 中使用 IBPP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23654478/