qt - 覆盆子交叉编译:在 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 进行编译,但总是得到相同的错误。
我搜索了互联网,但令我惊讶的是,我没有发现任何相关内容。也许我错过了一些非常明显的东西。
非常感谢任何帮助。
解决方案
推荐阅读
- python-3.x - 如何使用 Selenium 和 Python 在 url https://www.virustotal.com/gui/home/search 上传递搜索值
- javascript - Google Analytics conversion code not working
- php - 打印多个数组时获取特定数组数据
- rust - 如何从函数返回引用缓冲区和缓冲区的结构?
- swift - Swift Combine Subscriptions, right flow and architectural choices
- c# - 将文件分块
- javascript - 有什么方法可以获取 Spotify 艺术家的标题图片?
- postgresql - 当我尝试在 PostgreSQL 中继承表时,如何解决错误?
- ionic-framework - 使用当前 ionic 4(5.4.13) CLI 创建的 ionic 项目版本 3 上的打字稿错误
- java - 我可以创建一个函数式接口来存储对包含任意数量参数的方法的方法引用吗?