minGW32-Make Error
-
Hallo,
versuche in ganz simples qt4 projeket zu kompilieren klappt aber irgendwie nicht:
http://viming.de/c++/paste:8442
Danke,
hmstr
-
Warum main() unter Windows für ein GUI-Programm und nicht WinMain()?
Probiers mal mit WinMain.
rya.
-
Qt != winapi
Der Fehler ist in der pro-Datei:
Du hast Qt bestimmt nicht im Debug kompiliert. Wenn du es von Trolltech herunterlädst hast du nur Release, also pro File abändern.
Hast du auch Umgebungsvariablen gesetzt(c:\Qt\4.4.1\bin).CONFIG += qt release
-
Is klar dass QT nicht WinApi ist, trotzdem eröffnet man in Win32 ein programm mit der WinMain.
rya.
-
Aber nicht mit Qt da läuft das über int main und mit Qt machst du kein only win32 Programm. Laut deiner Aussage bräuchte ich für jedes OS eine eigene main.cpp.
Schau mal hier: http://doc.trolltech.com/4.4/tutorials-tutorial-t1.html
QApplication ist abhängig von QtGui, somit kreierst du eine Gui.
WinMain hat in Qt nichts verloren und gibt es auch nicht.
-
Soso.. in der Doku von Trolltech die ich hier liegen hab, stehts aber mit WinMain drin... mir is klar, dass das nicht XPlatform ist, aber wie gesagt: Es steht so drin im Assistant. Naja Schwamm drüber.
Einer der vielen Gründe warum ich WXer bin...
rya.
-
Echt steht das bei dir drin? Kannst du mir mal den Link geben? Welchen Assistant hast du? Kann es sein das du bei Qt3 bist? Also bei Version 4 gibt es das definitiv nicht, bei 3 habe ich keine Ahnung. In der Assitant suche bekomme ich bei "WinApi" keine Resultate. Habe auch in mein Buch geschaut... nichts...
-
Nein, ich hab definitiv QT4. Hab ich letztens mal aus Interesse runtergeladen und da stehts mit WinMain drin. Bekomm das aber nicht kompiliert mit dem MSVC und auch nicht mit mingw, das gibt LinkerError über nicht implementierte virtuals wenn ich Q_OBJECT angebe wie im Tut. Mach ich das weg, gehts einwandfrei.
Beispiel:class CWindow : public QWindow { private: Q_OBJECT; [...] }
Das Kompilieren von QT4 hat extrem lange gedauert. Ca. 5 Stunden. Aber ok, hab ne alte Möhre hier stehen mit 2GHz... 1x 2GHz nicht 2x. xP. Achja, Link für die Lokale Hilfe hab ich gerade nicht, bin arbyten.
rya.
-
Es steht natuerlich jedem frei die von Qt intern zur Plattformunabhaengigkeit zur Verfuegung gestellten WinMain() zu ersetzen; macht aber keinen Sinn - ich bezweifle auch, dass Trolltech sowas vorschlaegt.
-
Das ist ja mal interessant. Entweder habe ich gestern zu viel getrunken oder ich lebe auf einem neuen Planeten. Dein Code ist total falsch. Also in dem sinne, das es den nicht in der Offiziellen Doku gibt. Die Klasse QWindow gibt es nicht.
Q_OBJECT daf nicht unter private stehen und muss auch als aller erstes definiert werden.class CMainWindow : public QMainWindow { Q_OBJECT [...] };
Kann das sein das die dich bei der Doku gelinkt haben? Ich meine mich wundert es nicht das dein Programm nicht kompiliert wird... Aber deine Doku kann ich beim besten Willen nicht nachvollziehen. Das geht gerade nicht in mein Kopf rein was du da liest, aber interessieren würde es mich schon... Klick mal in deinem Assitant auf Help->About und sag mir mal was da als Version steht. Bei mir steht Version 4.4.0 Open Source Edition
-
Dass das QWindow jetzt nicht stimmt, kann sein. Ich bin wie gesagt auf arbyte und das war nur ein wildes Beispiel.. aber ich check das heute abend nochmal nach. Vllt 3ar auch das Paket fehlerhaft (mirror) und die Doku ist alt (die .qch) aber der rest passt. Der Assistant wurde aber definitiv neu kompiliert.
rya.