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 modification de l' 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 qu' -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 je omettre l' -xplatform
option et définissez -platform
de mon objectif spec (linux-win32-g++), il appelle le cross compilateur, mais ensuite les erreurs quand il trouve des Unix n'est pas défini.
Voici quelques résultats de ma dernière tentative: http://pastebin.com/QCpKSNev.
Questions:
Lors de la compilation croisée quelque chose comme Qt pour Windows à partir d'un hôte Linux, si le compilateur natif jamais être invoquée? C'est, au cours d'une croix processus de compilation, ne devrions-nous pas utiliser uniquement le cross compilateur? Je ne vois pas pourquoi Qt script configure essaie d'appeler mon système du compilateur natif alors que j'ai spécifié l'
-xplatform
option.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.
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?