Pergunta

Eu estou usando qmake para gerar Mingw32 Makefiles para um pequeno aplicativo Qt C ++ estamos desenvolvendo. Meu problema: todos os CPUs dual core / quad está sentado lá de braços cruzados enquanto apenas um thread está fazendo o edifício. A fim de coisas paralelizar tentei passar --jobs 4 para fazer, mas o problema é que qmake gera um dentro makefile genérica de que fazem é chamado novamente com -f.

É possível forçar qmake para adicionar opções para fazer ao gerar o makefile? Ou talvez não há outra maneira de definir o exterior opção de qmake completamente? Eu não posso edição que específica Makefile uma vez que é gerada automaticamente cada construção.

Foi útil?

Solução

Abusando $MAKE passar as opções não funciona em todos os casos. Muitas vezes, (por exemplo, no script configure do Qt no Unix), está entre aspas ("$MAKE") para permitir que o comando para conter espaços. Eu sei porque eu usei o mesmo truque antes que ele parou de funcionar. Suporte Qt então sugeriu (legitimamente) para uso $MAKEFLAGS como em

set MAKEFLAGS=-j4
make

Outras dicas

Isso funciona para mim:

set MAKE_COMMAND = mingw32-make -j% number_of_processors%

O Makefile genérico usa $(MAKE) ao invocar marca, para que possa substituí-lo utilizando variáveis ??de ambiente. Algo como isso deve fazê-lo:

  qmake
  make MAKE="mingw32-make -j4"

Substitua os valores de MAKE conforme exigido é claro:)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top