Kompatibilität
-
Ich dachte immer, dass man mit MFC eine EXE-Datei ohne Run-Times und weiteres machen kann. Doch neulich wollte ich eine exe auf einem anderen Rechner (win 98) laufen lassen. Es kamm ne blöde Fehlermeldung: etwa mfc32.dll konnte nicht gefunden werden. Frage, liegt es an mir oder muss der Benutzer doch ein Runtime haben. Wenn das Erste zutrifft, was ich eher glaube, dann könnte es vielleicht sein, dass ich nicht die richtige exe genommen habe?
-
such mal im forum nach "statisch linken"
-
projekt->einstellungen->allgemein->mfc in einer statischen bibliothek verwenden
-
Ok, ich weiß zwar nicht ob es geklappt hat (ich glaube schon), doch die EXE-Datei wurde um einiges größer. Also eine exe ohne nich war um die 100 Kb und jetzt um die 2 MB. Ich meine gibt es nicht eine Möglichkeit ohner Run-Times und trotzdem akzeptabel klein?
-
lol die runtimes sin in der exe
wenn dus klein und ohne runtimes willst schreib doch einfach n konsolenprogramm

solange du nur win98 funktionen benutzt brauchst du das eh nich
meine programme laufen manchmal noch unter win95 ohne runtimes nachzuinstalliern
-
Oder kompiliere mal im Release-Modus!
-
Mit der richtigen Version kann man auch noch die Größe optimieren...

-
MaSTaH schrieb:
Oder kompiliere mal im Release-Modus!
Hab mal im realase-modus gemacht, ist wirklich kleiner (sogar kleiner als mit mfc42.dll also um die 25 Kb)! Ist aber wirklich eine Standalone?
-
Du kannst auch einfach die mfc32.dll mit in das Verzeichnis der MFC-Applikation legen (für release build), für debug (mfc32d.dll). Dann holt sich das Programm nämlich selbstständig die Daten aus der DLL, anstatt aus dem System32-directory, du brauchst die Runtime nicht mal installieren.