-j8
, вероятно, не работает из-за ограничения в GNU Make на Win32.
Попробуйте ввести -j
в поле make arguments.Это говорит Make, чтобы порождать как можно больше процессов компиляции - если у вас достаточно оперативной памяти и процессора, чтобы справиться с этим, это должно быть быстрее, чем одна компиляция.
К сожалению, это только два варианта (без изменения файлов Makefile): либо -j1
, либо неограниченный -j
Полная информация: GNU Make на Win32 не поддерживает сервер заданийТаким образом, родительский процесс Make не может отследить количество процессов компиляции, порожденных какими-либо суб-Make.Чтобы быть в безопасности, суб-Make запускается только с -j1
.Я полагаю, что созданные Makefile'ы qmake / Qt Creator используют несколько слоев Makefile.Сначала я выяснил эту проблему с MPLAB X IDE от Microchip, за дополнительной информацией обращайтесь к этой теме
Эта цитата взята из README.W32, распространяемой вместе с GNU Make
Поддержка параллельных сборок
В этом порту поддерживаются параллельные сборки (-jN) с двумя ограничениями:
Количество одновременных процессов имеет жесткое ограничение 64из-за способа, которым этот порт реализует ожидание своих подпроцессов;
Метод сервера заданий (доступный, когда Make работает на платформах Posix) не поддерживается, что означает, что вы должны передать явный ключ -jN в sub-Make в рекурсивном Makefile.Если sub-Make не получает явный ключ -jN, он будет по умолчанию равен -j1, то есть не будет параллелизма в sub-Make.