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!
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 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?
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!
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!
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".....?
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.