首页 > 解决方案 > 覆盆子交叉编译:在 qt5 cmake 项目中执行 moc 或 rcc 时找不到 libz.so.1

问题描述

到目前为止,我想交叉编译我直接在树莓上编译的项目。我完成了一些教程,创建了我的 raspi sysroot 目录和我的工具链文件,并开始编译一些依赖项目。一切都可以编译到包含 Qt5 的项目。我遇到的问题是涉及用于生成 moc 的 Qt 工具,由

set(CMAKE_AUTOMOC ON)

调用 rcc 和

qt5_wrap_cpp(HDR_MOC ${H_FILES})

调用moc。

我得到的错误信息是

error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory

rcc 和 moc 的路径指向 raspi sysroot 可执行文件,我认为这应该是正确的。我检查了 zlib,它存在于我的主机和 sysroot 中。我的主机正在运行 Ubuntu 18.0 并尝试同时安装 lib64z1、lib64z1-dev 和 lib32z1、lib32z1-dev 进行编译,但总是得到相同的错误。

我搜索了互联网,但令我惊讶的是,我没有发现任何相关内容。也许我错过了一些非常明显的东西。

非常感谢任何帮助。

标签: qtcmakeraspberry-piqt5cross-compiling

解决方案


推荐阅读