微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

MinGW编译过于缓慢

自从几年前我开始在Windows 7和Linux Ubuntu中使用Qt,并且在MinGW被用于Windows的情况下,它总能快速编译。 但在过去的几年里,也许要感谢Qt和MinGW版本的更新,我开始考虑Windows内部编译速度的减慢。 我做了一些研究,试图找出为什么MinGW开始比Linux更慢(这不是以前!),而且所有人都告诉我MinGW在Windows中速度较慢,如果可能的话,它会更好使用Linux。

因为我想继续我的项目,所以我遵循了这个build议,因为我使用的Linux相对没有问题。 现在的情况是,我必须回到Windows(现在已经更新到Windows 10)来对这个操作系统进行可视化修正,我需要再次与MinGW一起工作,不得不面对同样的问题。

但由于某种原因,MinGW的速度似乎变得更糟! 在我至less能够在大约4分钟内完成应用程序的编译之前,现在是我最后一次尝试的时间,在我放弃并入睡之前花了38分钟 – 而这个项目只需要1:03分钟编译在Linux下[在相同的编译configuration下]!

好吧,我仍然知道MinGW的速度慢,但是在networking上对这个问题的一个快速研究显示,这太慢了:所有的回测人员都可以在SO的其他线程中发现,最多显示2倍到3倍的时间编译一个项目,而不是38x +!

这个gcc编译器命令中的-z选项是什么?

使用MSVC2010使用/ MT编译静态QT库

C程序没有标题

编译openssl 1.0.0e,“openssl版本”仍然返回0.9.8k ..我做错了什么?

什么是Mcrt1.o和Scrt1.o的用法

所以我想知道我的Windows可能会出现什么样的问题,这种缓慢的情况会发生。 我知道我最终安装了至less4个不同版本的MinGW; 这可能会带来问题吗?

另外值得注意的是,当使用-j选项进行编译,并在Process Explorer中查看Qt Creator中的Compile Output日志时,编译简单的时刻会暂停10秒或更长时间,并且cpu使用率会从〜100%降至接近5%没有任何事情发生,直到它突然继续编译过程。 我相信这个不断的暂停是上述平均时间的一部分,但是我不知道MinGW为什么显示这个行为。

任何帮助赞赏。

如何更改解释器path并将命令行parameter passing给Linux上的“可执行”共享库?

python pyinstaller windows exe与openssl

在为QT编译opencv时出错

spotifyd,交叉编译为arm64

如何编译/安装node.js(不能configurationcxx编译器!)(Ubuntu)。

你可能想检查时间花在哪里。

有很多工具可以让你捕捉某个进程在做什么,我只列出其中的两个:

将procmon

XPerf或其继任者

但要分析这些工具生成的报告,您需要相当深入的了解。 如果这无助于暂时禁用其他正在运行的服务和程序(如果您想知道哪个程序导致问题)或一次禁用所有服务。 查看由sysinternals显示的TaskManager或Procexp显示cpu使用量的峰值也可以帮助识别那些阻止你的cpu的组件。 如果您的防病毒是导致编译速度非常慢的冲突的原因,您可以定义例外,则防病毒软件将不扫描某些程序或路径。

因此,首先尝试使用禁用的防病毒软件进行编译过程,或者使用干净的实时启动Windows CD更容易。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐