2016-06-07 14 views
8

Ich arbeite in einem Projekt, das eine Anwendung mit Computer Vision unter Verwendung von C++, OpenCV und Visual Studio erstellt. Ich bin kein Experte in der Bereitstellung von Programmen, um sie auf anderen PCs zu verwenden.Mein Programm läuft nicht auf einigen PCs

Ich habe ein Programm erstellt, das ich an eine bestimmte Anzahl von Leuten verteilen muss und ich kann es nicht auf allen Computern funktionieren lassen, die ich gerne hätte. Das Programm wurde mit Visual Studio 2015 geschrieben, es ist ein MFC-Projekt und der Code ist in C++ geschrieben, da ich OpenCV verwende.

Als es fertig war, habe ich versucht, es auf einem anderen Computer zu starten, und ich erkannte, dass es nicht geöffnet wird. Ich schaute ins Internet und fand heraus, dass ich die Bibliotheken statisch verknüpfen musste, also tat ich es. Bei der Suche nach Informationen habe ich festgestellt, dass Visual Studio 2015 seine Projekte erstellt, sodass Sie die Programme auf Computern mit Win7 bis Win10 ausführen können. Als ich das erfuhr, versuchte ich, es auf PCs mit Windows 7, 8, 8.1 und 10 zu öffnen. Ich testete mein Programm in etwa 20 Computern, geben oder nehmen.

Die Ergebnisse? Ich konnte es nicht für Windows 7 machen, der Fehler ucrtbase.terminate api-ms-win-crt-Laufzeit-l1-1-0.dll zeigte jedes Mal, wenn ich versuchte, es zu öffnen. Es öffnete auch nicht in einem Computer mit Windows 8 ohne Fehlermeldung, aber es DID öffnen auf am meisten der Maschinen mit Win 8.1 und Win 10. Die Sache ist, dass "am meisten"; Es gab einige PCs (mit Win 8.1 und 10), auf denen ich mein Programm nicht öffnen konnte. Ich stellte fest, dass es manchmal weniger als eine Sekunde im Task-Manager angezeigt wurde und dann verschwand. Die stressigste Sache ist, dass es mir nicht sagt, was das Problem ist, es zeigt keine Fehlermeldung. Es wird sich einfach nicht öffnen.

Ich versuchte mit Dependency Walker (sowohl auf meinem PC und einer von denen, dass ich mein Programm nicht ausführen konnte) zu sehen, wenn etwas fehlt und ich eine lange Liste von Dateien, die das System nicht finden konnte Hier ist ein Beispiel: List 1/11. Etwas Kurioses ist, dass mein Programm nur gut auf meinem Computer ausgeführt wird und auf denen ich öffnen kann, obwohl Dependency Walker (DW) mir sagt, dass es ein Problem damit geben könnte. Das zeigt mir, dass DW nicht den genauen Fehler findet, den ich habe.

Eine andere Sache, die ich ausprobiert habe, ist, die Dinge, die ich auf meinem Computer installiert habe, zu vergleichen und sie auf dem einen zu installieren, auf dem ich mein Programm ausführen möchte. Ich habe versucht, .NET Framework 4.6.1 zu installieren, nur weil VS 2015 sagt, dass mein Projekt mit ihm gebaut wurde (und ich habe es in meinem PC installiert und das andere nicht. Auch ich versuchte mit .NET 4.6.1 SDK). Nichts hat sich geändert.

+2

Teil Ihres Problems: http://stackoverflow.com/questions/33265663/api-ms-win-crt-runtime-l1-1-0-dll-is-missing-when-open-office-file – user4581301

+0

Danke, ich werde es versuchen: D –

Antwort

0

Genau hier:

https://msdn.microsoft.com/de-de/library/ms235299.aspx

Die schnelle und schmutzige Art und Weise der DLLs von Ihrem redist Verzeichnis kopieren würde.

VC\redist\x86 

oder

VC\redist\x64 
... 

, die auf Ihre Anwendung ab: Für meine MS VS 2013 wird in unter dem VS-Installationsverzeichnis versteckt.

+0

Danke, aber ich denke, ich habe das schon getan, indem ich ** VCRedist_x64 ** auf dem Computer installiere, auf dem ich das Programm ausführen möchte.Eigentlich, wenn ich das Programm sende, mache ich es inklusive ** exe ** und einigen Anweisungen, was ich Schritt für Schritt machen soll, um es auszuführen. Ich werde versuchen, die Dateien von meinem Computer zu kopieren, in der Hoffnung, dass es funktioniert. –

Verwandte Themen