架构为armv7的未定义符号 - 静态库

3

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

我想向您反馈我的问题:

我从这个链接下载了 iOS Hikvision 摄像头的 SDK:http://www.hikvision.com/en/download_more.asp?id=1207

这个 SDK 包含了一个名为 "libPlayCtrl.a" 的静态库文件和两个头文件 "ApplePlayM4.h" 和 "PlayM4.h"

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

"Undefined symbols for architecture armv7"

我按照这个链接的建议进行操作:Undefined symbols for architecture armv7,但无论如何都无法编译项目。

有没有人使用过这个程序并能够帮助我?

谢谢。


它在抱怨哪些符号? - Phillip Mills
抱歉。上面代码的注释是我做测试时留下的。正确的错误信息如下(我只复制了一部分,无法复制整个整数):针对架构armv7未定义符号: “_glEnableClientState”,在libPlayCtrl.a(EAGLView.o)中被引用 “_glEnable”,在libPlayCtrl.a(EAGLView.o)中被引用 “_glGetRenderbufferParameterivOES”,在libPlayCtrl.a(EAGLView.o)中被引用,函数名为“-[EAGLView createFramebuffer]” - Fernando Juarez
看起来你的库想要链接到OpenGL,但是你在构建的链接阶段中没有包含OpenGL库。 - Phillip Mills
@FernandoJuarez 你好。你使用过海康威视SDK吗?它工作正常吗?请给我提供一些关于如何使用海康威视库的提示好吗? - Bittu
@FernandoJuarez 我想为海康威视SDK创建演示,但我不知道从哪里开始,所以如果您可以帮助我,我会感激不尽。 - Bittu
1个回答

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接