You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows下为QML版Android应用交叉编译Poppler的构建问题求助

Qt Android端内嵌PDF渲染应用开发问题记录

项目背景

  • 需求说明:开发无需调用外部系统阅读器即可直接展示PDF文件的Android应用,全流程基于Windows 10环境下的Qt Creator,采用QML/Qt框架完成开发。
  • 前期选型调研结论:
    • QtPDF方案:功能完全匹配开发需求,但经Qt官方技术支持确认,暂不支持Android平台,Android适配优先级极低,短期内无法投入使用,对应已知问题编号为QTBUG-83459。
    • Poppler方案:可采用开源社区提供的Poppler-QML插件(对应代码仓库为dept2/Poppler-QML-plugin),功能可覆盖开发需求,但因需适配Android平台,必须使用Android工具链完成交叉编译,因自身对Qt Creator的Android交叉编译配置经验不足,始终未完成该组件的构建流程。
  • 固定开发环境版本:
    • 操作系统:Windows 10
    • 开发工具套件:Qt 5.15.2、Qt Creator 4.14.0
    • Android编译工具链:NDK 21.3.6528147
    • 目标适配ABI版本:x86(用于AVD模拟器调试)、armeabi-v7a、arm64-v8a
  • 最终选型结论:确定采用Poppler技术路线完成PDF功能开发。

当前编译进度与报错情况

已完成的推进操作:

  • 拉取Poppler源码启动首次构建,初期CMake无法识别Freetype依赖,因此拉取Freetype源码完成编译后,将对应安装路径配置给CMake解决识别问题。
  • 依次配置JPEG依赖(openjpeg2)、ZLIB、PNG、TIFF依赖,其中zlib、png、tiff三个依赖均可被CMake正常识别。

当前遇到的具体报错:

  • OpenJPEG2依赖配置报错:CMake在对应路径识别到OpenJPEGConfig.cmake文件时,在文件第41行触发"ooops"错误,调用栈指向Poppler主CMakeLists.txt第251行的find_package调用逻辑。
  • CMake无法识别Cairo、Boost两个依赖。

核心待解疑问

  • 当前采用的「逐一排查依赖、自行编译所有第三方依赖后配置路径给CMake」的流程是否正确?
  • 流程中是否遗漏了关键的前置配置步骤?
  • 缺乏成熟的Android平台Poppler-QML插件交叉编译配置方案参考,对整个交叉编译流程的逻辑存在困惑。

内容的提问来源于stack exchange,提问作者Conrad.R

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.22 19:15:08