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

时间:2015-04-12 17:20:18

标签: c++ qt4 cross-compiling mxe

我使用this SO answer作为收件人在Linux上为Windows构建Qt GUI应用程序。它完美地运作。但是我生成的“Hello World”二进制文件大12MB - 仅适用于窗口中的按钮 - 这太多了。

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

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

那么如何只重新编译qt部分以使我的更改生效?

3 个答案:

答案 0 :(得分:0)

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

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

如果您在<packages-to-recompile-here>放置应重新编译的软件包,然后在make的基本目录中运行mxe,那么它可以正常运行。

答案 1 :(得分:0)

如果在 src / $ packagename.mk 上更改了某些内容,只需运行 make $ packagename 即可在mxe checkout中重建 $ packagename

答案 2 :(得分:0)

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

希望有所帮助。