交叉编译Qt模块(不构建总体新建)并添加到现有Qt

问题描述 投票:0回答:1

我在一个嵌入式Linux设备上使用Qt进行应用程序开发,该设备捆绑在一个OS映像文件中,该文件包含来自设备供应商的Qt和其他必需工具(他们构建了操作系统,Qt就可以了......等等)。

目前我正在尝试自定义一个Qt模块(只需很小的更改)并用修改后的模块替换现有模块,这是否可以使用当前的Qt版本?另外,我不允许建立一个全新的Qt版本。

我尝试从here获取模块并将其添加到我的项目中,就像通常的源文件一样,但由于对其他源/模块的严重依赖,这似乎很难。这种情况有没有解决方案/建议?或者我只能构建Qt的单个模块(不是完整版)?

c++ qt cross-compiling embedded-linux
1个回答
0
投票

支持重新编译单个模块,这可能是最方便的方式。

首先,您需要获取源代码。通过code.qt.io中的git或从download.qt.io下载存档。确保发布版本匹配。注意:一些附加模块在某种程度上是便携式版本,但没有任何保证。

在命令行上设置交叉编译环境。如何执行此操作特定于您的环境(Yocto / OE,buildroot,...)。通常,您需要“源”的shell脚本。验证运行“which qmake”的结果。结果应该是进入交叉编译器环境的路径(而不是进入主机/ usr / bin)。如果你可以通过“qmake; make”编译一个简单的Qt hello世界,你也可以试试。如果生成的二进制文件与目标匹配,请通过file命令检查。

如果到目前为止一切正常,请输入要在命令行上重新编译的Qt模块的源目录。运行qmake。您将看到配置阶段的输出。不应该存在依赖性问题。然后运行make。

© www.soinside.com 2019 - 2024. All rights reserved.