iphone - 当我添加 libZSDK_API.a 时,Restkit 的 -Objcflags会导致编译错误

标签 iphone ios ios6 zebra-printers

我正在使用 RestKit 来使用网络服务。 RestKit 工作正常,直到我尝试添加 libZSDK_API.a 库(该库用于通过网络或蓝牙管理 zebra 打印机)

一些教程指出了将 RestKit 添加到 iOS 项目的步骤:

  • 在“其他链接器标志”中添加值 -ObjC

但是这个标志 (-ObjC) 在我添加库时导致编译错误,当我删除这个标志时,iOS 应用程序编译正确但当我执行应用程序时崩溃,因为项目没有 -Objcflags。

我遇到了这个编译错误:

Undefined symbols for architecture i386:
  "_OBJC_CLASS_$_Linea", referenced from:
      objc-class-ref in libZSDK_API.a(LineaBtPrinterConnection.o)
     (maybe you meant: _OBJC_CLASS_$_LineaBtPrinterConnection)
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

最佳答案

Zebra API 链接到另一个 API,通过 IPC Linea Sled 设备进行蓝牙通信。 LineaBtPrinterConnection 链接到该库文件 (libdtdev.a)。通常,如果您不关心通过 sled 进行的 BT 通信,则不必链接该库,但是由于您要添加 -ObjC 标志,它正在加载该文件并且寻找那个图书馆。

如果您将 libdtdev.a 库添加到您的项目中,该错误应该会消失。该库应该包含在您从 Zebra 下载的“Demos”项目文件夹下。如果您需要实际使用 sled,根据 sled 的固件版本,您可能需要 IPC 的新版本,您可以通过以下方式获得 sign up as a developer on their site.

关于iphone - 当我添加 libZSDK_API.a 时,Restkit 的 -Objcflags会导致编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15797711/

相关文章:

ios - HKObserverQuery 连续两次随机调用

ios - 用于从 iTunes 传输到设备的 Ad-Hoc 构建的正确代码签名配置是什么?

iphone - 无法从 SQLite 数据库 iOS6.0 检索数据

iphone - 使用 Google 的 OAuth 时 iOS 6 抛出错误

IOS应用程序复制

iphone - 如何确定用户是否按下 UITableViewCell 2 秒?

ios - 如何在iOS中强制将音频输出路由到蓝牙A2DP?

ios - 获取 YouTube 的“事件”选项卡下列出的视频列表

iphone - iPhone 通话完成后如何返回“我的应用程序”

ios - 删除动画期间行数更改时 UITableView 中的内部不一致