Qt4 + Mingw + qmake: Program too big to fit in memory

Alles rund um die Programmierung mit Qt
nando
Beiträge: 321
Registriert: 28. Oktober 2004 13:16

Qt4 + Mingw + qmake: Program too big to fit in memory

Beitrag von nando »

Hi,
ich habe mein projekt auf qmake umgestellt.
wenn ich es jetzt unter windows mit mingw uebersetzte bekomme ich ein
ca. 4MB grosses executable. Wenn ich dieses dann starten will kommt immer die fehlermeldung: Program too big to fit in memory
auf der msyshell konsole.... woran kann das liegen? ich habe 3GB speicher und keine anderen programme laufen.....

gruss,
nando
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Dein Executable ist möglicherweise kaputt. Oder Du allokierst wirklich zu viel Speicher was ich nicht glaube - startet es gar nicht oder dauert es erst eine Weile bis die Meldung kommt? Wenn es erst eine Weile dauert -> Memleak, ansonsten -> Executable kaputt.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
nando
Beiträge: 321
Registriert: 28. Oktober 2004 13:16

Beitrag von nando »

also die meldung kommt direkt nach dem starten...
allerdings versteh ich nicht wie das executable kaputt gehen kann..
ich hab eben mal mingw32-make clean gemacht und dann neu gebaut..

jetzt bekomm ich den fehler:
The application failed to initialize properly (0x000000005). Click OK to terminate the application.

Mit meinen eigenen Makefile funktionierts... aber mit den qmake erzeugten nicht... hmmmmm ich weiss echt nicht weiter....
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

0xC00000005 kommt eigentlich in Verbindung mit msvc und manifest-Problemen zum Vorschein. Linkst Du noch gegen irgendwelche 3rdparty-Libs?
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
nando
Beiträge: 321
Registriert: 28. Oktober 2004 13:16

Beitrag von nando »

ja....
gegen qwt5.0.2

und eine eigene lib....

was kann ich denn da noch falsch gemacht haben?????
was ist denn dieses manifest?
sorry, komm halt aus der linux welt und bin unter windows noch nicht so fit....
PeterLustig
Beiträge: 386
Registriert: 21. November 2007 20:07

Beitrag von PeterLustig »

Wurden diese Libs auch mit MingW kompiliert?
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Aber qwt und deine eigene Lib sind doch wohl auch mit mingw gebaut denke ich.
Baue die auch nochmal neu. Was anderes fällt mir da gerade nicht ein. Ggf. mal mit gdb schauen was los ist.

Mit den manifest-Zeugs musst Du dich nicht wirklich beschäftigen wenn Du kein msvc benutzt - das ist so ne (imho) dämliche neue Erfindung von MS seit msvc2005.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
nando
Beiträge: 321
Registriert: 28. Oktober 2004 13:16

Beitrag von nando »

okay,
also ich besorg mir mal die aktuellste version von qwt (5.1.1),
uebersetzte die neu und versuche es dann noch mal..
ich berichte dann mal,ob es geklappt hat...

danke schon mal...
nando
Beiträge: 321
Registriert: 28. Oktober 2004 13:16

Beitrag von nando »

mist.....
gleicher fehler..

also ich hab jetzt die aktuelleste qwt version neu uebersetzt mit

qmake
mingw32-make


und dann meine applikation... uebersetzt und linkt problemlos..
aber beim starten dann diese fehlermeldung.......... hmmmmm
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Debugger, Applikation ohne qwt Testen, deine externe Lib entfernen usw. - geht denn z.B. der Qt-Assistant?
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Sephral
Beiträge: 201
Registriert: 1. Februar 2006 09:40
Kontaktdaten:

Beitrag von Sephral »

Bei Google findet man einige Tips zu dem Thema...
http://lists.trolltech.com/qt-interest/ ... 826-0.html

Üblicherweise wird geraten mit "depends.exe" zu schauen ob auch alle abhängiggen DLLs im Pfad liegen.
nando
Beiträge: 321
Registriert: 28. Oktober 2004 13:16

Beitrag von nando »

Danke fuer den Tip Sephral...

also ich hab mir das ganze mal mir dem dependecy walker angesehen und festegestellt, dass ihm wohl die msvcr90.dll fehlt.

das kann ich aber nicht ganz nachvollziehen, da ich ja nur mit mingw arbeite..
und auch aus der msysshell uebersetzte....
ich habe zwar vs2008 installiert, aber das sollte er eigentlich nicht mit einbeziehen.....
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Hatte ich also doch recht.
Dann schau mal welche Lib die msvcrt90.dll genau braucht.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Sephral
Beiträge: 201
Registriert: 1. Februar 2006 09:40
Kontaktdaten:

Beitrag von Sephral »

Installier' mal zum Spaß das Redist-Pack:
http://www.microsoft.com/downloads/deta ... laylang=en
Dann sollte alles funktionieren.

Es wäre möglich dass Dein Compiler das Windows Platform SDK vom VS 2008 erwischt hat. So würde sich die Abhängigkeit ergeben.


Mit installiertem VS 2008 sind mir auch einige merkwürdige Dinge passiert, das war auch der Grund warum ich es demletzt wieder entfernt habe (vorm nächsten Servicepack fass ich es nicht mehr an) :-)
nando
Beiträge: 321
Registriert: 28. Oktober 2004 13:16

Beitrag von nando »

ohjeeee... jetzt hab ich eine vermutung...
ich hab glaube ich die ganze zeit gegen eine VS2008 uebersetzte Qt version gelinkt...
daher auch die msvc90.dll...

mist...
ich uebersetze jetzt noch mal alles.... dann sag ich bescheid ob es geklappt hat.....
Antworten