Warum wird nicht mein Programm ausgeführt, wenn Visual Studio 2008 installiert ist?
-
20-08-2019 - |
Frage
Ich habe ein Spiel geschrieben, die GLUT, OpenGL und FMOD verwendet. Das Problem ist, dass die binäre wird nicht ausgeführt, es sei denn, Visual Studio 2008 auf dem Computer installiert ist.
Warum ist das?
Lösung
Die meisten wahrscheinlich, dass Sie mit DLL-Versionen der C / C ++ Runtime sind verknüpfen. Gehen Sie Eigenschaften zu projizieren -> C ++ -.> Code-Generierung, und legen Sie die Laufzeitbibliothek zu nicht sein, eine von "DLL" Arten
Alternativ können Sie DLL Runtimes verknüpfen, aber dann haben Sie die Laufzeit mit Ihrer Anwendung zu verteilen.
MSDN Weitere Informationen zu verschiedenen Aspekten der C ++ Anwendungsbereitstellung hat: http: // msdn.microsoft.com/en-us/library/zebw5zk9.aspx
Auch Dependency Walker (depends.exe) wird zeigen, welche Bibliotheken die ausführbare Datei hängt davon ab. Es wird mit einigen Versionen von Visual Studio als auch.
Andere Tipps
Sie meinen, warum Microsoft Visual C ++ 2008 Redistributable Package (x86) benötigt?
Dieses Paket installiert Laufzeit Komponenten C Runtime (CRT), Standard C ++, ATL, MFC, OpenMP und MSDIA-Bibliothek installiert. Für Bibliotheken, die Trägerseite-an-Seite-Bereitstellungsmodell (CRT, SCL, ATL, MFC, OpenMP) sie sind in die native Baugruppe installiert Cache, auch WinSxS Ordner genannt, auf Versionen von Windows-Betriebssystem dass Unterstützung Side-by-Side-Baugruppen.
Weil sie nicht auf alle Windows standardmäßig installiert, vor allem denjenigen, die vor dem VS 2008 ausgeliefert.
Auch für
cout << "Hello, World" << endl;
Sie müssen eine Bibliothek, die in diesem Fall des Standard C ++ Bibliothek.
Willkommen in der wunderbaren Welt der Anwendungsbereitstellung.
Führen Sie das Tool abhängig auf die ausführbare Datei, und es wird Ihnen sagen, welche DLLs müssen Sie auch mit Ihrem EXE kopieren entlang zu.
Dieses Programm kann helfen, was DLLs (falls vorhanden) auf dem Computer fehlt, dass es werden nicht ausgeführt auf
Nur die Release-Versionen der C-Laufzeit und die C ++ Standard Library DLLs in Windows standardmäßig installiert ist. Visual Studio Installieren wird zusätzlich die Debug-Versionen installieren.
Stellen Sie sicher, dass die Version, die Sie Bereitstellung vollständig im Release-Modus ist eingebaut.
Versuchen Sie im Release-Modus kompilieren, und stellen Sie sicher, dass alle erforderlichen DLLs auf dem Zielcomputer installiert sind. Es funktioniert für mich.
Haben Sie Abhängigkeiten von Debug-Bibliotheken haben?