programm mit eclipse ausführbar, ohne aber nicht??

Alles rund um die Programmierung mit Qt
Antworten
wayneos
Beiträge: 38
Registriert: 28. Oktober 2008 14:09

programm mit eclipse ausführbar, ohne aber nicht??

Beitrag von wayneos »

hallo,

hab ein programm mit eclipse (Qt integrated) ein programm geschrieben welches sich in eclipse (also durch klicken auf das play-zeichen) wunderbar ausführen lässt, jedoch abstürzt wenn ich in den ordner gehen (mit windows explorer) und dirkt auf die .exe klicke!

die fehlermeldung von windows lautet wie folgt:

Code: Alles auswählen

APPCRASH
...
Fehlermodulname: QtCored4.dll
...
woran kann das liegen? muss ich das extra nochmal compilen? oder was in der .pro datei ändern?

ich bin ratlos... bitte dringend um hilfe

thx im vorraus
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Wahrscheinlich ein Problem mit Pointern. Die beim starten durch Eclipse nur noch nicht auffallen...
MiKla
Beiträge: 134
Registriert: 29. Juli 2007 15:29

Beitrag von MiKla »

...oder die Umgebungsvariablen sind im Eclipse anders und in der nicht Eclipse Umgebung ist eine ander Version der QtCored4.dll vorhanden!
wayneos
Beiträge: 38
Registriert: 28. Oktober 2008 14:09

Beitrag von wayneos »

upsala hat geschrieben:Wahrscheinlich ein Problem mit Pointern. Die beim starten durch Eclipse nur noch nicht auffallen...
kannst du das mal genauer erklären wie du das meinst! ich verwende QString in dem programm ohne es explizit zu includen aber ich hab QT+= gui in der .pro datei.
...oder die Umgebungsvariablen sind im Eclipse anders und in der nicht Eclipse Umgebung ist eine ander Version der QtCored4.dll vorhanden!
ich hab den path für den bin-ordner von qt in der umgebungsvariable eingetragen. doch leider funktioniert es nach wie vor nur in eclipse
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Du verwendest nur QString in deinem Programm? Warum nimmst du dann überhaupt Qt?
wayneos
Beiträge: 38
Registriert: 28. Oktober 2008 14:09

Beitrag von wayneos »

upsala hat geschrieben:Du verwendest nur QString in deinem Programm? Warum nimmst du dann überhaupt Qt?
...ähm ich meinte das das das die einzigste "klasse" ist die ich nicht im header include! alles andere schon.

muss ich vielleicht in eclipse irgendwie das programm exporten oder so? wenn ich im verzeichnis von meinem programm nachschaue ist nur der ordner "debug" gefüllt mit einer .exe und ein haufen .o datein! der "release" ordner ist leer! aber brauch ich nicht ne release version?
wayneos
Beiträge: 38
Registriert: 28. Oktober 2008 14:09

Beitrag von wayneos »

kann mir denn keine explizieter erklären was ursachen für dieses problem seien könnten?

ist für ne facharbeit, und langsam sollte das ding laufen damit ich drüber schreiben kann. hoffe ihr versteht das es etwas brennt bei mir.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Facharbeit - da sollte man wohl auch methodisch vorgehen können. Also Bitte gib uns ein Testcase mit dem dies passiert so das wir es nachvollziehen können. Und mit Testcase meine ich nicht das komplette Programm sondern ein Minimalbeispiel!
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
wayneos
Beiträge: 38
Registriert: 28. Oktober 2008 14:09

Beitrag von wayneos »

das gestalltet sich schwierig da kleine programme auch auserhalb von eclipse laufen.

nur das prog was ich geschrieben hab (welches leider ja zu groß ist um es ganz zu posten) läuft einzig und allein in eclipse! keine ahnung woran das liegt.

muss ich da speziell was beachten? ich verwende QFILE und QPROCESS, evtl muss man dabei ja was beachten!

brainstormt mich einfach ein bisschen.
solarix
Beiträge: 1133
Registriert: 7. Juni 2007 19:25

Beitrag von solarix »

unter "methodisch vorgehen" dachte Christian eigentlich nicht an "brainstormt mich einfach ein bisschen." ... also:

1. Verifizier, dass dein Programm 100% sicher die richtigen DLLs lädt. Der Bin-Path reicht dazu nicht, sondern verwende ein Tool, welches dir die Abhängigkeiten zeigt ("ldd" unter Linux, ich glaube unter Windoof gibts "dependency walker" oder so.. (Posting von Michael)

2. Wenn das Programm die richtigen Qt-Dlls lädt (die der aktuellen Qt-Version und die passende Release/Debug-Version) gibt's zwei Varianten. Entweder verwendest du einen Profiler, um irgendwelche schrägen Pointeroperationen zu finden ("valgrind" unter Linux, keine Ahnung unter Wind...)... (Posting von upsala), oder:

3. Falls du da kein passendes Tool findst gibt's nur eines: Erstell eine Kopie deines Projektes und reduzier es solange, bis du a) den Fehler selber finden, oder b) uns den Quellcode anhängen kannst.. (Posting von Christian).

Was genau gibt's da also noch zu "brainstormen".....?
MiKla
Beiträge: 134
Registriert: 29. Juli 2007 15:29

Beitrag von MiKla »

Wenn das Programm in der Umgebung von Eclipse funktioniert, dann ist es zu 99% ein Problem der Umgebung (verschiedene DLL's, Pfade nicht richtig usw.).
Aber das sagte ich ja bereits.
Man sollte die Ratschläge auch berücksichtigen, statt nach mehr zu fordern ohne selber was zu tun. Wenn Du all die Dinge überprüft hättest und das Problem immer noch bestünde, würden wir Dir sicher weiter helfen, zu mal Du dann bestimmt neu Details für uns hättest.

Michael
Antworten