如何在 MXE 中仅重新编译特定包

How to recompile in MXE only a specific package?

本文关键字:编译 新编译 MXE      更新时间:2023-10-16

我用这个SO答案作为在Linux上为Windows构建Qt GUI应用程序的食谱。它工作得很好。但是我生成的"Hello World"二进制文件是12MB大 - 仅适用于窗口中的按钮 - 这太多了。

所以我想我可以修改src/qt.mk文件并调整配置选项以删除尽可能多的不需要的选项。

但是现在我需要在MXE中重新编译Qt,我不知道怎么做。当我在基目录中运行make时,它开始下载所有源包。但是我已经下载了这些东西。

那么如何只重新编译 qt 部分,让我的更改生效呢?

touch src/<packagename>.mk
make <packagename>

希望有帮助。

mxe的基目录中,只需打开文件settings.mk并取消注释最后三行:

LOCAL_PKG_LIST := <packages-to-recompile-here>
.DEFAULT local-pkg-list:
local-pkg-list: $(LOCAL_PKG_LIST)

如果您将应该重新编译的软件包放在<packages-to-recompile-here>,然后在mxe的基本目录中运行make,则它可以完美运行。

如果 src/$packagename.mk 上发生了更改,只需运行 make $packagename 即可在您的 mxe 结帐中重建$packagename