2008-10-13 6 views
3

J'ai une application Qt stub et je continue à obtenir des erreurs du compilateurCompiler un programme Qt sous Windows XP avec g de MinGW ++

#include <QApplication> 

int main(int argc, char *argv[]) 
{ 
    return 0; 
} 

je qmake -project et qmake commandes et pour autant que je peux dire qu'ils ont fait leur travail correctement. Quand j'appelle ensuite make à la commande ligne je reçois l'erreur suivante:

g++ -c -O2 -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT 
-DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I 
'../../../../qt/include/QtCore' -I'../../../../qt/include/QtCore' -I'../../../.. 
/qt/include/QtGui' -I'../../../../qt/include/QtGui' -I'../../../../qt/include' - 
I'.' -I'c:/qt/include/ActiveQt' -I'release' -I'.' -I'../../../../qt/mkspecs/defa 
ult' -o release/Main.o Main.cpp 
cc1plus.exe: Invalid option 'threads' 
make[1]: *** [release/Main.o] Error 1 
make: *** [release] Error 2 

Mes recherches sur Google me disent que le filetage est important de garder, mais pas comment corriger cette erreur. Toute aide serait appréciée.

EDIT (copié à partir d'une réponse de la gauche OP):

je reçois maintenant:

g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-rel oc 
-Wl,-s -pthread -Wl -Wl,-subsystem,windows -o release/raytrace.exe 
object_scr ipt.raytrace.Release -L'c:/qt/lib' -lmingw32 -lqtmain -lQtGui -lgdi32 
-lcomdlg3 2 -loleaut32 -limm32 -lwinmm -lwinspool -lmsimg32 -lQtCore -lkernel32 
-luser32 - lshell32 -luuid -lole32 -ladvapi32 -lws2_32 
g++: unrecognized option `-pthread' 
/cygnus/cygwin-b20/H-i586-cygwin32/i586-cygwin32/bin/ld: cannot open -lmsimg32: 
No such file or directory collect2: 
ld returned 1 exit status make[1]: *** 
[release/raytrace.exe] Error 1 make: *** [release] Error 2 

Répondre

0

Sur la base de la réponse plus tard de l'interlocuteur, et non pas la question initiale. À l'invite MSYS, exécutez «ls /mingw/lib/libmsimg32.a» et vérifiez si vous avez ce fichier. Mon installation le fait (MinGW GCC 3.4.5). Si vous avez ce fichier, vous devrez peut-être ajouter -L/mingw/lib. Si vous n'avez pas le fichier, vous avez peut-être manqué l'installation de Windows api partie de MinGW.

Dans tous les cas, supprimez -pthread. Vous utilisez l'API Win32.

Si cela ne fonctionne pas, vous devez spécifier quelle version de MinGW vous utilisez et, si vous utilisez MSYS, quelle version de MSYS.

2

Eh bien, j'ai déjà eu un problème similaire lorsque j'installais MingW téléchargé depuis le web, mais d'un autre côté, lors de l'installation de Qt, il vous sera demandé de télécharger la version de MingW compatible avec Qt. Alors avez-vous essayé de l'installer lorsque le programme d'installation Qt vous l'a demandé?

+0

Qt installateur? Je ne pouvais trouver que des paquets sources ... – user8923

+0

Ouais, utilisez le MinGW 3.4.2.Je rencontre des problèmes en essayant les versions 5.x. – Tuminoid

3

++ milot

Je n'utilise que MinGW pour compiler Qt sur Windows et c'est la meilleure façon de vous assurer que vous avez tout ce dont vous avez besoin.

Voici le lien pour la version Qt Open Source: http://trolltech.com/downloads/opensource/appdev/windows-cpp

Utilisez le "Ou télécharger Qt avec le compilateur MinGW inclus: Taille: 149,3 Mb" lien.

L'autre façon d'utiliser MinGW est de compiler Qt avec MinGW, puis de compiler votre application, mais cela dépend si vous compilez dans MSYS ou si vous utilisez simplement MinGW.

1

Qt 4.5 a Qt Creator 1.1 qui est facile à développer des applications.

La conception et le codage sont combinés dans Qt Creator et sont faciles à utiliser.

vous pouvez faire l'expérience comme l'utilisation de l'IDE VB (ou plutôt comme Eclipse, NetBeans, etc.)

quand exécuter l'application. le projet est compilé soit en mode débogage, soit en mode release.

Questions connexes