gpt4 book ai didi

linux - 如何在 Linux 上为 mingw 和 QT 设置构建环境?

转载 作者:太空宇宙 更新时间:2023-11-04 12:20:38 25 4
gpt4 key购买 nike

我有一台 Ubuntu 构建机器。

我希望使用我安装的 MinGW 为 Windows 交叉编译。

我正在编译 QT 应用程序(碰巧是 QT5)。

我正在使用 CMake。

native 构建开箱即用,但交叉编译非常失败,因为 CMake 无法找到 FindPackage 使用的文件。为了解决这个问题,我将所有 QT 库文件、头文件、cmake 文件和 shared/qt5 下的文件从 MSYS2 MinGW/QT5 安装(效果很好)复制到我的 Ubuntu 构建机器上的相关 MinGW 文件夹中。我还象征性地将“qmake”、“rcc”、“moc”和“uic”的 native 二进制文件链接到正确的位置,因为 QT5 cmake 文件似乎正在寻找它们。我想我应该编辑 cmake 文件以查找具有目标系统前缀的二进制文件,并重命名符号链接(symbolic link),但我很懒。

CMake 现在成功了,但是当我尝试“制作”我的程序时,我从“moc”收到以下错误:

moc: could not find a Qt installation of ''

我想我缺少一两个环境变量。

理想情况下,我想要一个指定一些预构建的 Ubuntu 包的解决方案,我可以安装这些包以使用 MinGW 在 Linux 上为 Windows 编译 QT 应用程序,但坦率地说,任何有效的东西都会很棒。

最佳答案

答案原来是我真的需要编译我自己的自定义版本的 Qt。

我得到的错误是因为事实证明 qmake 二进制文件不是二进制文件,而是指向其他内容的符号链接(symbolic link)。修复后我可以成功编译,但所有依赖项都是错误的,生成的二进制文件不可运行。为了解决这个问题,我需要自己编译 Qt 及其所有依赖项 :( 因为这些包括 Harfbuzz 及其循环依赖项,这不是很好。我最后一次尝试编译和使用此类二进制文件导致可执行文件崩溃。

我真的很希望为 Ubuntu 提供 MinGW 包的人能用 MinGW 编译流行的包,如 libicu、Qt 等,并将它们也作为包提供。

有用的链接:

https://marc.wäckerlin.ch/computer/cross-compile-on-ubuntu-linux-for-windows-using-mingw

https://github.com/mwaeckerlin/mingw

关于linux - 如何在 Linux 上为 mingw 和 QT 设置构建环境?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46119039/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com