2017-11-11 4 views
0

Ich habe viele Probleme gelesen und verfolgt, aber nichts scheint zu funktionieren.Wie kann ich meine Anwendung dazu bringen, eine DLL eines Drittanbieters mit Visual Studio zu finden?

Ich versuche, die rdkafka Bibliothek in mein Projekt einzubeziehen, aber jedes Mal, wenn ich die Anwendung ausführen ich erhalte

Das Programm kann nicht gestartet werden, da librdkafka.dll von Ihrem Computer fehlt.

Ich kann deutlich sehen, dass librdkafka.dll sowie librdkafka.lib im selben Verzeichnis vorhanden ist. Ich habe die Include-Dateien zum Projekt hinzugefügt, und ich habe auch die librdkafka.lib zu den zusätzlichen Verzeichnissen im Linker-Abschnitt hinzugefügt. Das Projekt baut gut auf, aber es wirft diesen Fehler zur Laufzeit.

Weiß jemand, wie ich dieses Problem lösen kann?

+0

Sieht aus wie Sie statische Verknüpfung verwenden. Wenn Sie mit dem Debuggen von VS beginnen, ist das aktuelle Verzeichnis Ihr Projektverzeichnis (wenn ich mich richtig erinnere) nicht der Pfad, wo sich Ihre ausführbaren Dateien befinden – Asesh

+2

Stellen Sie sicher, dass die DLL im [DLL-Suchpfad] sichtbar ist (https: // msdn .microsoft.com/de-us/library/windows/desktop/ms682586 (v = vs.85) .aspx) –

+0

@Asesh, das schien zu funktionieren. Ich habe alle DLLs im Root-Verzeichnis abgelegt, aber wie kann ich das ändern, so dass es in einem bestimmten Verzeichnis aussieht? – user

Antwort

0

In Visual Studio wird standardmäßig nach dlls im Projektverzeichnis gesucht und die Anwendung selbst wird versuchen, die dlls im aktuellen Arbeitsverzeichnis zu finden. Das Verschieben der DLLs an diesen Ort scheint das Problem zu lösen.

Verwandte Themen