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?

War es hilfreich?

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?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top