【问题标题】:Undefined symbols for architecture armv7 - Static Library架构 armv7 的未定义符号 - 静态库
【发布时间】:2013-07-15 18:38:25
【问题描述】:

我来自阿根廷,我的英语非常有限。对此感到抱歉。

我告诉他们我的问题:

我从这个链接下载了适用于 iOS 海康威视摄像机的 SDK:http://www.hikvision.com/en/download_more.asp?id=1207

这包括名为“libPlayCtrl.a”的静态库文件和两个标题“ApplePlayM4.h”和“PlayM4.h”

问题是在我的项目中包含这个库,我得到了错误:

“架构 armv7 的未定义符号”

我按照此链接中的建议进行操作:Undefined symbols for architecture armv7,但我无法以任何方式编译该项目。

有没有人参与过这个程序并且可以帮助我?

谢谢。

【问题讨论】:

  • 它在抱怨哪些符号?
  • 对不起。上面评论的代码来自我做的一个测试。正确的错误信息如下(我只复制了一部分,不会让我复制整数): Undefined symbols for architecture armv7: "_glEnableClientState", 引用自:-[EAGLView drawFrame:frameWidth:frameHeight:] in libPlayCtrl.a (EAGLView.o) "_glEnable",引用自:-[EAGLView drawFrame:frameWidth:frameHeight:] in libPlayCtrl.a(EAGLView.o) "_glGetRenderbufferParameterivOES",引用自:-[EAGLView createFramebuffer] in libPlayCtrl.a(EAGLView. o)
  • 您的库似乎想要链接到 OpenGL,并且您没有在构建的链接阶段包含 OpenGL 库。
  • @FernandoJuarez 嗨。你用的是海康威视skd吗?工作正常吗?你能告诉我如何使用海康威视库吗?
  • @FernandoJuarez 我想为海康威视 sdk 创建演示,但我不知道从哪里开始,所以如果你能帮助我,我会做的

标签: xcode static-libraries armv7


【解决方案1】:

这个问题是不久前发布的。我最近也尝试将 HikVision iOS Player SDK 集成到一个项目中。我遇到了类似的错误,未为 armv7 架构定义的符号以及其他一些错误。 sdk 的海康威视文档没有为您提供干净且易于集成的依赖库。我包含了以下库,CoreAudio、CoreVideo、AudioToolbox 和 OpenAL,以及 libstdc++.6.0.0.dylib。所有这些都包含在我的环境中的测试项目中,通过 swift 使用 XCode 7 和 iOS 9。我创建了一个桥接头(因为 swift),导入了 ApplePlayM4.h 并能够调用 PlayM4_GetPort 方法。请注意,HikVision 库仅针对设备架构 amrv7/armv64 而不是 i386 编译,这就是为什么它不能在模拟器中工作并且只能在物理设备上工作的原因。

【讨论】:

    猜你喜欢
    • 2015-10-07
    • 2013-02-05
    • 2016-04-29
    • 1970-01-01
    • 2011-09-19
    • 1970-01-01
    • 2013-03-16
    相关资源
    最近更新 更多