J'ai récemment recompilé Qt pour pouvoir utiliser des bibliothèques statiques au lieu de bibliothèques partagées. Mais maintenant, quand j'essaye de compiler mon projet, j'obtiens l'erreur suivante:
QMAKESPEC n'a pas été défini, la configuration ne peut donc pas être déduite.
Cela semble être un problème courant et j’ai fait quelques recherches avant de poster. Ce qui me surprend, c’est que j’ai paramétré QMAKESPEC env var. Voici la sortie de printenv QMAKESPEC
/usr/local/Trolltech/Qt-4.4.0/mkspecs/linux-g++
De plus, voici la sortie de qmake -query QMAKESPEC
linux-g ++
J'ai également essayé de jouer avec les valeurs, mais il semble que qmake ne puisse pas voir cette variable du tout ... QTDIR est également spécifié correctement.
J'ai également essayé de recompiler Qt et de le réinstaller.
Merci de votre aide.
Ok, désolé, je pense savoir quel est le problème. J'ai récupéré qmake de l'ancienne installation de Qt qui a été laissée dans/usr/bin /. Je l'ai supprimé maintenant et je vais réessayer d'installer Qt. J'espère que ça va marcher =)
Ajoutez simplement ceci à un script avant d'exécuter qmake
Unix Bourne Shell:
QMAKESPEC=/usr/local/qt/mkspecs/linux-g++
PATH=$PATH:/local/qmake/bin
export QMAKESPEC PATH
Unix C Shell:
setenv QMAKESPEC /usr/local/qt/mkspecs/linux-g++
setenv PATH $PATH:/local/qmake/bin
Microsoft Windows:
set QMAKESPEC=c:\qt\mkspecs\win32-msvc
set PATH=%PATH%;c:\qmake\bin
qmake est maintenant installé.
si vous êtes paresseux pour faire des trucs supplémentaires set-env, voici une ligne:
qmake -spec c:\qt\mkspecs\win32-msvc myproject.pro
il en va de même pour les autres plateformes
À partir de la version 4.8, qmake dispose d'un système d'informations persistantes pouvant être définies à l'aide de l'option -set
et consultées à l'aide de -query
.
Pour plus de détails, consultez Configuration de l'environnement de qmake pour qmake 4.8 et Configuration de qmake pour qmake 5.0.
J'ai eu le même problème et l'ai résolu en installant le paquet libqt4-dev.