9
votes

Comment traverser une application QT compile pour différentes plates-formes

Comment puis-je croiser ma demande sur qt. Comme pour chaque projet

J'ai besoin de deux version

1). Qui fonctionne sur ordinateur sur l'architecture QVFB & I386

2). Qui fonctionne sur le périphérique avec l'architecture Linux Framebuffer & Bras

J'ai déjà compilé QT pour le périphérique ainsi que pour QVFB. Je suis capable de faire des exemples sur les deux plates-formes, mais comment puis-je croiser mes applications. Je préférerais que les deux sorties restent dans différents répertoires, ce qui signifie que la sortie de I386 reste dans la plate-forme de sortie-i386 et la sortie des bras de bras dans le répertoire des bras de sortie.

J'utilise Qt 4.6 pour Linux incorporé.


0 commentaires

3 Réponses :


2
votes

QT prend tous les détails spécifiques à la plate-forme du fichier MKSPEC.

Spécifier le fichier MKSPEC sur QMake pour traverser Compiler en utilisant -Spec Command Line Argument de QMake.

dans le fichier mkspec Il existe de nombreuses définitions par lesquelles vous pouvez personnaliser la compilation de différentes plates-formes telles que je peux utiliser DESTDIR pour envoyer un fichier de sortie final à un répertoire particulier, Objets_DIR à envoyer Fichier d'objets au répertoire particulier. moc_dir pour envoyer des fichiers générés par la MOC à un dir "fort> ui_dir aux en-têtes et aux fichiers CPP générés par UIC au répertoire partiluar.


0 commentaires


4
votes

Vous pouvez simplement définir Desdir dans votre fichier .pro . Voir La référence de la variable QMake . Vous voudrez peut-être aussi ajuster les variables objets_dir , ui_dir , moc_dir et rcc_dir . .


1 commentaires

Ajuster définitivement les autres répertoires également. Sinon, vous pouvez essayer de relier des objets construits pour une plate-forme dans un exécutable construit pour l'autre.