Qt for Android - 未定义的压缩和解压缩参考

时间:2015-03-29 22:28:50

标签: qt android-ndk

在我的Android原生项目中,我需要使用一些核心Qt功能。按照http://qt-project.org/wiki/Qt5ForAndroidBuilding的说明,我设法为Android构建了Qt。我可以看到所有生成的归档文件都存储在qtbase / lib目录中。

我将我的C ++代码与libQt5Core.a,libQt5Bootstrap.a和libqtpcre.a相关联。几乎所有的Qt引用都被解析了异常的两个非qt引用 - compress()uncompress()。我在qtbase/lib/*.a文件中搜索过这些符号,但没有找到任何定义。

那么这两个函数在哪里定义?它们是否属于标准NDK库之一,还是需要单独构建?

似乎qbytearray.cpp正在使用这两个函数。如果未定义QT_NO_COMPRESS,则似乎定义了这些函数。如果我能以某种方式定义QT_NO_COMPRESS,看起来我可以逃脱未解决的错误。我该如何定义?我是否将其传递给配置脚本?

$ ./configure -DQT_NO_COMPRESS ...

希望我能简单地找到对缺失函数的引用。否则,请告知如何实现第二种选择。问候。

1 个答案:

答案 0 :(得分:1)

事实证明,zlib已经是Android NDK的一部分了。所需要的只是-lz flag:

LOCAL_LDLIBS += -lz