C++ Visual Studio exe funktioniert auf anderem pc nicht.

_Reaper

Lt. Junior Grade
Registriert
Juni 2010
Beiträge
504
Visual Studio exportierte exe funktioniert auf anderem pc nicht.

Hi leute, ich habe vorhin eine Konsolenanwendung geschrieben.
1.JPG

Als das programm fertig war, wollte ich das Programm einem kumpel zum Test schicken.
Dieser meinte beim ausführen der exe würde eine Meldung kommen das die VCRUNTIME140D.dll fehlen würde.

Ich weiß jedoch nicht was das bedeutet, bzw wie ich dieses Problem beheben kann.

Danke im Voraus.
 
Zuletzt bearbeitet:
Du hast eine CLR-Konsolenanwendung (Common Language Runtime) erstellt, welche eben diese Bibliotheken benötigt um zu starten. Es gibt nun zwei Möglichkeiten: Du änderst dein Projekt in eine Win32-Konsolenanwendung, die benötigt diese Bibliotheken nicht, oder er installiert eben die Visual Studio CLR. Ich bin mir nicht sicher, aber ich glaube im Internet kursieren diese Bibliotheken unter dem Kürcel "c++ redist". Kann mich da aber auch irren.

Da bei ihm aber die VCRUNTIME140D.dll fehlt, würde ich zuallererst versuchen das Projekt im "Release"-Modus zu kompilieren anstatt im "Debug"-Modus. Die Debug-Bibliotheken sind nur installiert, wenn auch Visual Studio selbst installiert ist.
 
Die DLL muß ja auch auf deinem Rechner existieren.

Du könntest diese suchen und mit der exe mitgeben. Diese muß sich dann im selben (oder einem System-) Verzeichnis existieren. Kann gehen, muß aber nicht.

Es kann dann auch sein, daß dann andere Fehler über fehlende DLLs kommen.
 
DLLs sollte man nicht so einfach umkopieren. Dafür gibt es extra die Redist-Packages die das ganze an die richtige stelle kopieren so das Windows Update auch gleich Patches dafür einspielen kann wenn notwendig. Die Packages gibt's entweder auf der Microsoft Homepage oder das Visual Studio bringt sie in einem Unterordner der Redist heißt auch mit. Wichtig ist aber das Programm als "Release" zu kompilieren, damit auch die richtigen DLLs verwendet werden. (das "d" am Ende deutet auf eine Debug-Version hin)
 
Wenn ich Software testen soll, will ich auch nicht erst irgendwelche Packages installieren. Höchstens in einer VM.
 
Für einen kurzen Vorabtest könnte man die DLL auch in den Programmpfad legen. Für einen richtigen Test sollte man es aber richtig machen und das Package installieren. Man sollte dann eh nen Installer bauen der das Programm inkl. aller Abhängigkeiten installiert. So ist das unter Windows üblich und von Microsoft vorgesehen.
 
AW: Visual Studio exportierte exe funktioniert auf anderem pc nicht.

HiSkiller schrieb:
Ich weiß jedoch nicht was das bedeutet, bzw wie ich dieses Problem beheben kann.

Du mußt die .exe für Dein Projekt mit "statischen Bibliotheken" erzeugen (/MT).

Projekteinstellungen --> C/C++-Optionen --> Codeerzeugung
 
Danke für die Hilfe.


blöderidiot schrieb:
Du mußt die .exe für Dein Projekt mit "statischen Bibliotheken" erzeugen (/MT).

Projekteinstellungen --> C/C++-Optionen --> Codeerzeugung
Ergänzung ()

Nun kommt die Fehlermeldung:

Fehler D8016 Die Befehlszeilenoptionen /clr und /MT sind inkompatibel.
 
Zuletzt bearbeitet:
Die CLR gibt es nicht als statische Bibliothek. Keine Ahnung, ob es soetwas unter .NET überhaupt gibt. Ändere dein Target auf das Win32 Subsystem.
 
Zurück
Oben