Projekte mit Qt und Dev-cpp(MinGW) kompilieren
-
mh, hab alles gemacht, bekomm aber ne seltsame fehlermeldung beim compliieren bzw. bei "make".
wenn ichs unter dev-c++ mache steht da folgendes:cannot find -lqtmaind ld returned 1 exit status [Build Error]
nutz ich den make befehl (unter QT 4.4.0 Command Prompt) kommt folgendes:
[...] H:\MinGW\bin\..\lib\gcc\mingw32\3.4.2\..\..\..\..\mingw32\bin\ld.exe: cannot find -lqtmaind collect2: ld returned 1 exit status [...]
OS: WinXP SP2
QT Version: 4.4.0
bitte um hilfe t.t
-
terminator123 schrieb:
kann mir keiner helfen oder warum schreibt keiner?
wie bekomme ich die verdammten lib-dateien her???oder ist es hier üblich das man keine hilfe bekommt?
schaut langsam so aus!hallo an alle.
erstmal zu der Anleitung : ich finde diese anleitung nicht unbedingt toll wie manche es behauptet haben. zumal dass die Specificationen fehlen zb:
um welche version von qt die rede ist oder welche anforderungen fürs Pc notwendig sind. (windows 2000, xp?)
und wirklich in details ist er net eingegangen : zb fürs Instalieren des pathes
siehe 3-
hi terminator123 ich habe das selbe problem.
wie du merke ich auch dass hier keiner diesen wichtigen Fragen geantwortet hat.1- bei runterladen von qt version 4.4.1 gibt es kein assistant fürs installation man entpackt einfach die zipdatei
2- der programm execute.exe läuft zwar aber hält nicht
wie die ausgabekonsole hält wenn im programm "system(pause);" steht.
3-die teile für qmake ist auch net detailliert erklärt
was soll man unter "euerpath/bin " verstehen?
4- derjenige der so eine anleitung öffentlich zur verfügung stellt sollte bereit sein alle Frage richtig und wirklich zu beantworten.das war meine kontribution . wenn jemand mir helfen kann dann bitte schön
danke im vorraus
-
Welche Version ich benutzt habe weiß ich nicht mehr(sorry).
Wenn du auf das Datum des Artikel schaust kann man sich ausmachen welche Version das sein müsste(09 Feb 2006 ~> 4.2).Wobei ich für Kritik immer offen bin. Also zu deinen Punkten 1-3.
1. Es gibt einen Assistenten, undzwar wenn du die exe Datei runterlädst mit MinGW.
2. keine Ahnung wovon du redest
3. euerPath ist der Verzeichnispfad indem du QT installiert hast.
4. Komm erstmal auf den Teppich zurück, nur weil ich einen Artikel schreibe heist es nicht das ich mich für immer und ewig verpflichtet bin eure Fragen zu beantworten, damit das klar ist.Zu deinem Problem du solltest diese http://www.trolltech.com/download?target=http://ftp.ntua.gr/pub/X11/Qt/qt/source/qt-win-opensource-4.4.1-mingw.exe QT Version nehmen den dort ist QT schon Kompiliert. Dein und terminator123 Problem ist das ihr QT nicht Kompiliert.
-
Hallo,
ich habe mir Beschreibung zu Devc++ und Qt durchgelesen. Alles hat soweit geklappt, die exe Datei wurde in dem release Ordner erstellt. Habe diese dann auch nach der Beschreibung in Devc++ eingebunden. Das Problem ist nun das ich diese exe Datei nicht ausführen kann. Folgende Fehlermeldung kommt:
Die Anwendung konnte nicht richtig initialisiert werden (0xc015002)
Mein Betriebssystem ist Vista.
Vielleicht könnt ihr mir ja helfenMfg Gustav
-
hi,
ich kann ein normales fenster mit nem normalen widget und nem normalen button kompilieren. aber wenn ich ein OpenGl projekt kompielieren will sagt mir das dos-promt:
*glwidget.cpp:39:20: QtOpenGL: No such file or directory
...
glwidget.h:41:21: QGLWidget: No such file or directory
...
*
ich hab nachgeschaut, die headerdateien sind im include ordner des QT-Verzeichnises...
wie bekomm ich das hin?mfg rungaaz
-
Steht das in deinem .pro-file?
QT += opengl
-
Nein,
aber wenn ich es reinschreibe und dann kompiliere funzt es auch nicht...
jedenfalls ist es jetzt ein anderer error also er findet die QtOpenGL.hbtw: wie bringe ich QT dazu QT += opengl automatisch in die *.pro datei zu schreiben?
-
Rungaaz schrieb:
aber wenn ich es reinschreibe und dann kompiliere funzt es auch nicht...
jedenfalls ist es jetzt ein anderer error also er findet die QtOpenGL.hTja, die QtOpenGL.h gibt es auch nicht...
btw: wie bringe ich QT dazu QT += opengl automatisch in die *.pro datei zu schreiben?
Da wirst du kein Glück haben. Ein qmake -project erstellt dir ein minimales .pro. Alles andere muss man immer selber erledigen.
Vllt. ist das mit ner IDE ala QtCreator/Eclpise+QtPlugin anders, wenn du sowas aber nicht nutzt musst du das händisch machen.
-
hmm,
aber es gibt den ordner 'QtOpenGL' im QT verzeichnis...
also wenn ich in die *.pro datei schreibe und dann im dos-prompt 'make' aus
führe sehe ich folgendes:E:\Dev\Projekte-C++\QT\OpenGL>make e:\Programme\Qt\4.4.3\bin\qmake.exe -win32 -o Makefile OpenGL.pro mingw32-make -f Makefile.Debug mingw32-make[1]: Entering directory `E:/Dev/Projekte-C++/QT/OpenGL' g++ -c -g -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT - DQT_DLL -DQT_OPENGL_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEED S_QMAIN -I"..\..\..\..\Programme\Qt\4.4.3\include\QtCore" -I"..\..\..\..\Program me\Qt\4.4.3\include\QtCore" -I"..\..\..\..\Programme\Qt\4.4.3\include\QtGui" -I" ..\..\..\..\Programme\Qt\4.4.3\include\QtGui" -I"..\..\..\..\Programme\Qt\4.4.3\ include\QtOpenGL" -I"..\..\..\..\Programme\Qt\4.4.3\include\QtOpenGL" -I"..\..\. .\..\Programme\Qt\4.4.3\include" -I"." -I"e:\Programme\Qt\4.4.3\include\ActiveQt " -I"debug" -I"." -I"..\..\..\..\Programme\Qt\4.4.3\mkspecs\default" -o debug\gl widget.o glwidget.cpp In file included from E:/Programme/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../. ./include/windows.h:50, from ../../../../Programme/Qt/4.4.3/include/QtCore/../../src/co relib/global/qt_windows.h:52, from ../../../../Programme/Qt/4.4.3/include/QtCore/qt_windows.h :1, from ../../../../Programme/Qt/4.4.3/include/QtOpenGL/../../src/ opengl/qgl.h:52, from ../../../../Programme/Qt/4.4.3/include/QtOpenGL/qgl.h:1, from ../../../../Programme/Qt/4.4.3/include/QtOpenGL/QtOpenGL:3 , from glwidget.cpp:39: E:/Programme/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/winbase.h:16 63: error: declaration of C function `LONG InterlockedCompareExchange(volatile L ONG*, LONG, LONG)' conflicts with ../../../../Programme/Qt/4.4.3/include/QtCore/../../src/corelib/arch/qatomic_win dows.h:387: error: previous declaration `long int InterlockedCompareExchange(lon g int*, long int, long int)' here E:/Programme/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/winbase.h:16 67: error: declaration of C function `LONG InterlockedDecrement(volatile LONG*)' conflicts with ../../../../Programme/Qt/4.4.3/include/QtCore/../../src/corelib/arch/qatomic_win dows.h:389: error: previous declaration `long int InterlockedDecrement(long int* )' here E:/Programme/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/winbase.h:16 68: error: declaration of C function `LONG InterlockedExchange(volatile LONG*, L ONG)' conflicts with ../../../../Programme/Qt/4.4.3/include/QtCore/../../src/corelib/arch/qatomic_win dows.h:390: error: previous declaration `long int InterlockedExchange(long int*, long int)' here E:/Programme/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/winbase.h:16 72: error: declaration of C function `LONG InterlockedExchangeAdd(volatile LONG* , LONG)' conflicts with ../../../../Programme/Qt/4.4.3/include/QtCore/../../src/corelib/arch/qatomic_win dows.h:391: error: previous declaration `long int InterlockedExchangeAdd(long in t*, long int)' here E:/Programme/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/winbase.h:16 76: error: declaration of C function `LONG InterlockedIncrement(volatile LONG*)' conflicts with ../../../../Programme/Qt/4.4.3/include/QtCore/../../src/corelib/arch/qatomic_win dows.h:388: error: previous declaration `long int InterlockedIncrement(long int* )' here mingw32-make[1]: *** [debug/glwidget.o] Error 1 mingw32-make[1]: Leaving directory `E:/Dev/Projekte-C++/QT/OpenGL' mingw32-make: *** [debug] Error 2
mfg rungaaz
-
da ich 'normale' Qt-Apps problemlos unter Dev-C++ kompilieren kann, habe ich versucht ein Qt-OpenGl-App zu kompilieren - funzt aber auch da nicht...
btw: wenn jemand das gleiche problem hatte wie ich, dass er bei jedem neuem QT-Projekt unter Dev-C++ in den projekt options die include-dirs und die library-dirs ändern musste um das projekt zu kompilieren, für den gibt es 2 lösungen:
1.)
-die librarys (alle *.a-dateien) in das verzeichnis '\Dev-Cpp\lib' kopieren.
-die includes (alle ordner die im verzeichnis '\QT\4.4.x\include' liegen) in das verzeichnis '\Dev-Cpp\include' kopieren.-oder-
2.)
in der datei 'QT4 Application.template' alle verzeichnisse bei 'Include' und 'Linker' ändern.
bei mir sieht das folgendermaßen aus:[Template] ver=1 Name=QT 4.0 Application IconIndex=0 Description=A basic template for QT 4.0 applications Catagory=Basic [Unit0] CName= CppName=main.cpp C= Cpp=QT4_Application_main.cpp.txt [Project] IsCpp=1 NoConsole=1 IsDll=0 UnitCount=1 Type=0 Name=QtApp Linker=E:/Programme/Qt/4.4.3/lib/libQt3Support4.a_@@_E:/Programme/Qt/4.4.3/lib/libQt3Supportd4.a_@@_E:/Programme/Qt/4.4.3/lib/libQtAssistantClient4.a_@@_E:/Programme/Qt/4.4.3/lib/libQtAssistantClientd4.a_@@_E:/Programme/Qt/4.4.3/lib/libQtCLucene4.a_@@_E:/Programme/Qt/4.4.3/lib/libQtCLucened4.a_@@_E:/Programme/Qt/4.4.3/lib/libQtCore4.a_@@_E:/Programme/Qt/4.4.3/lib/libQtCored4.a_@@_E:/Programme/Qt/4.4.3/lib/libQtDesigner4.a_@@_E:/Programme/Qt/4.4.3/lib/libQtDesignerComponents4.a_@@_E:/Programme/Qt/4.4.3/lib/libQtDesignerComponentsd4.a_@@_E:/Programme/Qt/4.4.3/lib/libQtDesignerd4.a_@@_E:/Programme/Qt/4.4.3/lib/libQtGui4.a_@@_E:/Programme/Qt/4.4.3/lib/libQtGuid4.a_@@_E:/Programme/Qt/4.4.3/lib/libQtHelp4.a_@@_E:/Programme/Qt/4.4.3/lib/libQtHelpd4.a_@@_E:/Programme/Qt/4.4.3/lib/libqtmain.a_@@_E:/Programme/Qt/4.4.3/lib/libqtmaind.a_@@_E:/Programme/Qt/4.4.3/lib/libQtNetwork4.a_@@_E:/Programme/Qt/4.4.3/lib/libQtNetworkd4.a_@@_E:/Programme/Qt/4.4.3/lib/libQtOpenGL4.a_@@_E:/Programme/Qt/4.4.3/lib/libQtOpenGLd4.a_@@_E:/Programme/Qt/4.4.3/lib/libQtScript4.a_@@_E:/Programme/Qt/4.4.3/lib/libQtScriptd4.a_@@_E:/Programme/Qt/4.4.3/lib/libQtSql4.a_@@_E:/Programme/Qt/4.4.3/lib/libQtSqld4.a_@@_E:/Programme/Qt/4.4.3/lib/libQtSvg4.a_@@_E:/Programme/Qt/4.4.3/lib/libQtSvgd4.a_@@_E:/Programme/Qt/4.4.3/lib/libQtTest4.a_@@_E:/Programme/Qt/4.4.3/lib/libQtTestd4.a_@@_E:/Programme/Qt/4.4.3/lib/libQtUiTools.a_@@_E:/Programme/Qt/4.4.3/lib/libQtUiToolsd.a_@@_E:/Programme/Qt/4.4.3/lib/libQtWebKit4.a_@@_E:/Programme/Qt/4.4.3/lib/libQtWebKitd4.a_@@_E:/Programme/Qt/4.4.3/lib/libQtXml4.a_@@_E:/Programme/Qt/4.4.3/lib/libQtXmld4.a_@@_E:/Programme/Qt/4.4.3/lib/libQtXmlPatterns4.a_@@_E:/Programme/Qt/4.4.3/lib/libQtXmlPatternsd4.a_@@_ Includes=E:\Programme\QT\4.4.3\include\phonon;E:\Programme\QT\4.4.3\include\Qt;E:\Programme\QT\4.4.3\include\Qt3Support;E:\Programme\QT\4.4.3\include\QtAssistant;E:\Programme\QT\4.4.3\include\QtCore;E:\Programme\QT\4.4.3\include\QtDBus;E:\Programme\QT\4.4.3\include\QtDesigner;E:\Programme\QT\4.4.3\include\QtGui;E:\Programme\QT\4.4.3\include\QtHelp;E:\Programme\QT\4.4.3\include\QtNetwork;E:\Programme\QT\4.4.3\include\QtOpenGL;E:\Programme\QT\4.4.3\include\QtScript;E:\Programme\QT\4.4.3\include\QtSql;E:\Programme\QT\4.4.3\include\QtSvg;E:\Programme\QT\4.4.3\include\QtTest;E:\Programme\QT\4.4.3\include\QtUiTools;E:\Programme\QT\4.4.3\include\QtWebKit;E:\Programme\QT\4.4.3\include\QtXml;E:\Programme\QT\4.4.3\include\QtXmlPatterns Libs="E:\Programme\Dev-Cpp/lib"
ACHTUNG: bei euch ist wahrscheinlich der pfad zu QT und Dev-Cpp anders!
ich hoffe ich konnte vll. so manchen helfen
mfg rungaaz
-
Du hast Konflikte mit Funktions-Deklarationen
E:/Programme/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/winbase.h:16 63: error: declaration of C function `LONG InterlockedCompareExchange(volatile L ONG*, LONG, LONG)' conflicts with ../../../../Programme/Qt/4.4.3/include/QtCore/../../src/corelib/arch/qatomic_win dows.h:387: error: previous declaration `long int InterlockedCompareExchange(lon g int*, long int, long int)' here
In qatomic_windows.h Zeile 387 und winbase.h Zeile 16 wird InterlockedCompareExchange deklariert.
K.A. was da los ist. Falsches mkspec? Hast du einen Header bearbeitet? Qt4 selber kompiliert?Was ich so gelesen hab ist ja dev-cpp recht veraltet (fehlerbehaftet?). Schau dir einfach mal Eclipse, Code::Blocks oder den neuen QtCreator an. Vllt. hast du da solche Probleme nicht mehr.
Aber wirklich helfen kann ich dir da jetzt leider nicht. Hab keinen Windows-Rechner in der Nähe...
Grüße
Franz
-
also ich hab eig. keinen header bearbeitet und QT hab ich auch nicht selbst kompiliert.
bei den umgebungsvariablen hab ich eine 'QTMAKESPEC'-variable aber kein 'mkspec'
ich hab die variablen ganz nach diesem thread eingerichtettrozdem schonmal vielen dank!
mfg Rungaaz
-
hi
hatte grad auch diesen linker-Fehler.
Kann es sein, dass du den Destruktor vergessen hast?grüße