exe-Datei starten ohne Entwicklungsumgebung
-
Ich möchte von meiner Anwendung die exe-Datei auf einem XP-Rechner zur Verfügung stellen, auf dem keine Entwicklungsumgebung installiert ist. Meine Anwendung habe ich unter XE6 erstellt. Ich habe sie als Release kompiliert und unter Projektoptionen die beiden Optionen "dynamische RTL linken" und "Mit Laufzeitpackages linken" deaktiviert. Die verwendeten DLL-Dateien liegen im selben Verzeichnis wie die exe-Datei. Starte ich die exe an dem XP-Rechner (keine Entwicklungsumgebung drauf) erhalte ich den Fehler: Zugriffsverletzung bei Adresse 00000000 in Modul `meineAppl.exe`. Lesen von Adresse 00000000
Starte ich die exe an einem Rechner mit installierten Windows7 startet die Anwendung.
Muss ich evtl noch eine Option beim kompilieren zur Kompatibilität mit Windows 7 aktivieren?
-
Debug-Build deployen und Remote-Debugger benutzen.
-
Hi,
Du musst mit Laufzeitpackages linken, wo sollen denn sonst die Bibliotheksfunktionen herkommen. Auch wenn Du keine verwendest, Dein Programm verwendet mit Sicherheit viele.
Gruß Mümmel
-
Nein, muß man nicht - ohne das Häkchen werden die Funktionen statisch eingelinkt.
-
Debug-Build deployen und Remote-Debugger benutzen?
Ich nehme an ich soll als Debugkonfiguration kompilieren und erzeugen und dann ein externes Tool verwenden auf dem Ziel-PC?
-
Hast du auch den Punkt "Mit der Delphi Laufzeitbibliothek linken" aktiv (C++ Linker)?
-
rudpower schrieb:
Ich nehme an ich soll als Debugkonfiguration kompilieren und erzeugen und dann ein externes Tool verwenden auf dem Ziel-PC?
Richtig. Und zwar den Remote-Debugger, der beim C++Builder mitgeliefert wird. In der Dokumentation findest du was dazu, wie du den einrichtest und welche Dateien du mit ausliefern mußt (vor allem die .tds-Dateien zu deinen Binaries).