Warum wird die Exe-Datei nicht ausgeführt, während die Lösung selbst in Visual Studio problemlos ausgeführt werden könnte?

382
user912276

Ich versuche, die .exe-Datei meines Projekts in Visual Studio auf anderen Systemen auszuführen, auf denen Visual Studio nicht installiert ist. Das Problem ist jedoch, dass die Lösung ausgeführt werden kann, wenn ich auf "Start" klicke, aber wenn ich die .exe-Datei der Fehler "Die Code-Ausführung kann nicht fortgesetzt werden, da die Datei mkl_tbb_thread.dll nicht gefunden wurde ...", ich kann wirklich nicht herausfinden, wie ich damit umgehen soll. Kann mir bitte jemand weiterhelfen? Ich habe einige Methoden ausprobiert, wie z. B. das Ändern der Laufzeitbibliothek in eine statische Form und das Ändern einiger anderer Optionen, aber keine davon hat tatsächlich funktioniert.

0

2 Antworten auf die Frage

0
User025

Sie müssen den gesamten Debug- oder Release-Ordner (oder zumindest dessen Inhalt) kopieren. Das Programm sucht nach einer .dll, die Sie in Visual Studio als Referenz hinzugefügt haben.

Eigentlich versuche ich, die .exe-Datei zuerst auf meinem eigenen System auszuführen, aber sie läuft nicht einmal auf meinem System, geschweige denn auf anderen Systemen. user912276 vor 5 Jahren 0
Existiert mkl_tbb_thread.dll im Ausgabeordner? Wenn nicht, könnten Sie versuchen, es in den Ausgabeordner zu kopieren? User025 vor 5 Jahren 0
Nein, die einzige Datei, die ich gefunden habe, war mkl-tbb-thread-dll.lib. Es gab keine .dll mit diesem Namen. Ich habe die erwähnte Datei in die Ausgabedatei kopiert, aber nichts geändert. user912276 vor 5 Jahren 0
Nun, ich fand diesen Artikel https://software.intel.com/de-de/articles/intel-math-kernel-library-intel-mkl-compiling-and-linking-with-microsoft-visual-cc, das möglicherweise relevant ist aber sonst habe ich keine ideen User025 vor 5 Jahren 0
Programmierfragen sind hier bei Superuser nicht möglich Ramhound vor 5 Jahren 0
Ich habe ein Flag für die Migration der Frage zu https://softwareengineering.stackexchange.com gesetzt, das jedoch abgelehnt wurde User025 vor 5 Jahren 0
0
harrymc

Gemäß diesem Artikel ist die DLL mkl_tbb_thread.dllTeil von Threading Building Blocks (Intel® TBB) .

Dieses Paket muss auf dem Ziel installiert sein, oder Sie fügen Ihrem Programm den Inhalt des Ordners bei redist\intel64_win\mkl, den Sie in seinem Installationsordner auf Ihrem Computer finden.

Wie muss ich TBB installieren? Ich habe keine Erklärung für die Installation gefunden, und ich habe keine Ahnung, wie man sie benutzt, und es gab keine mkl_tbb_thread.dll in den Dateien. Könnten Sie mir bitte dabei helfen? user912276 vor 5 Jahren 0
Um es nicht zu installieren, fügen Sie einfach den Inhalt des `redist`-Ordners in Ihr Programm ein. harrymc vor 5 Jahren 0
Es tut mir leid, wenn ich eine triviale Frage stelle, aber es gibt keinen Ordner für die Neuauflistung in den TBB-Ordnern. user912276 vor 5 Jahren 0
Dieses [Dokument] (https://software.intel.com/de-de/node/506049) beschreibt den Ordner als `.. \ redist \\ tbb \ vc\.dll`. Dementsprechend sollte sich der `redist`-Ordner außerhalb des TBB-Installationsordners befinden und denselben übergeordneten Ordner haben. Nicht sehr nett. Lesen Sie diesen Link für die Namenskonvention des Unterordners, den Sie kopieren müssen, sorgfältig durch. harrymc vor 5 Jahren 0