2017-02-08 6 views
-1

Ich habe Probleme, eine ausführbare Datei aus einer C++ - Quelle mit Visual Studio 2015 auf einem kürzlich installierten Windows (ohne installierte Visual Studio) kompiliert.Build C++ - Programm für Windows

Wenn ich es laufen erhalte ich diesen Fehler: -der Einstiegspunkt Prozedur beenden konnte nicht in der dynamischen \ VCRUNTIME140.dll (die DLL und die ausführbare Datei im selben Verzeichnis)

-path- Link Library befinden
+0

Ich glaube, das ein Service Pack Problem ist - stellen Sie sicher, dass Visual Studio ist up-to-date und dass Sie die neuesten Runtimes haben https://www.microsoft .com/de-de/download/details.aspx? id = 48145 –

+0

Auf meinem os funktioniert. Es funktioniert nicht auf Windows ohne Visual Studio 2015. –

+0

Ja, aber die Version von VC++, mit der Sie kompilieren, macht einen Unterschied. Der Endbenutzer muss das neueste weiterverteilbare Paket installiert haben (siehe meinen obigen Link), und Sie müssen die neuesten Service Packs für VS installiert haben. –

Antwort

0

Gelöst! in dem Verzeichnis mit der ausführbaren Datei erforderlich waren:

msvcp140d.dll 
vcruntime140d.dll 
ucrtbased.dll 
0

als tom erwähnt, Sie scheinen ein Problem mit verteilbare Paket zu haben, hier ist, wie man es beheben kann:

  • Rechts auf Ihr Projekt klicken in Lösung Explorer
  • zum Eigenschaften
  • Unde r „Konfigurationseigenschaften“, wählen Sie „Allgemein“
  • Geben Sie für „Verwendung von MFC“ und legen Sie es auf „Use MFC in einer statischen Bibliothek“
  • Code neu erstellen

* Es ist zu tun empfohlen, für alle Ihre Konfigurationen (in der oberen linken Ecke, wählen Sie "Konfiguration" als "Alle Konfigurationen" enter image description here

+0

Ich habe das gemacht, aber das Problem bleibt bestehen –

+0

Warum MFC verwenden? Wenn Sie das CRT statisch verknüpfen wollen, gehen Sie zu C/C++ -> Codegenerierung -> ändern Sie den Wert von 'Laufzeitbibliothek' von 'Multithread (Debug) DLL' zu 'Multithread (Debug)' –