Comment puis-je configurer Qt pour la cross-compilation de Linux à Windows cible?

Je veux cross compiler les bibliothèques Qt (et par la suite ma demande) pour un Windows x86_64 cible à l'aide d'un Linux x86_64 machine hôte. Je sens que je suis proche, mais j'ai peut-être une incompréhension fondamentale de certaines parties de ce processus.

J'ai commencé par l'installation de tous les mingw paquets sur ma Fedora machine, puis en modifiant les win32-g++ qmake.fichier conf pour s'adapter à mon environnement. Cependant, j'ai l'impression d'être coincé avec certains apparemment évidente configurer les options de Qt: -platform et -xplatform. Documentation de Qt dit que -platform devrait être l'hôte de l'architecture de la machine (où vous êtes à la compilation) et -xplatform devrait être la plate-forme cible pour lequel vous souhaitez déployer. Dans mon cas, j'ai mis -platform linux-g++-64 et -xplatform linux-win32-g++ où linux-win32-g++ est mon modifiée win32-g++ configuration.

Mon problème est que, après l'exécution de configurer ces options, je vois qu'il invoque mon système du compilateur à la place de la croix compilateur (x86_64-w64-mingw32-gcc). Si j'omets le -xplatform option et définissez -platform à ma cible spec (linux-win32-g++), il appelle le cross compilateur, mais ensuite les erreurs quand il trouve des Unix n'est pas défini.

Ici est une partie de la sortie de ma dernière tentative: http://pastebin.com/QCpKSNev.

Questions:

  1. Lors de la compilation croisée quelque chose comme Qt pour Windows à partir d'un hôte Linux, si le compilateur natif de jamais - elle être invoquée? C'est, au cours d'une croix processus de compilation, ne devrions-nous pas utiliser seulement la croix compilateur? Je ne vois pas pourquoi Qt script configure essaie d'appeler mon système du compilateur natif alors que j'ai spécifié le -xplatform option.

  2. Si je suis en utilisant un mingw cross-compilateur, quand vais-je avoir à traiter avec un fichier specs? Des fichiers de Spec pour GCC sont toujours une sorte de mystère pour moi, donc je me demandais si certains d'arrière-plan, ici, va m'aider.

  3. En général, au-delà de la spécification d'un compilateur croisé dans ma qmake.conf, quoi d'autre pourrait-je prendre en considération?

  • Je crois qu'il a besoin d'une construction locale de qmake pour amorcer le reste de la construction. voir aussi les liens dans les stackoverflow.com/questions/1025687/...
  • Ok, ça a du sens. Je vient de trouvé un autre problème, j'ai l'impression de mixage native et de la croix toolchains. L'erreur dans mon pastebin de sortie semble être due à l'appel de x86_64-w64-mingw32-as à la place de la langue maternelle.
  • J'ai rarement une marque DONC, la question en tant que favori, mais ce fut un unique et intéressante question avec un cool réponse.