Ich habe ein CLion/CMake-Projekt, das eine externe DLL benötigt, A.dll
, die ich in das Projekt lib/
Verzeichnis abgelegt habe. Nach dem Erstellen der ausführbaren Datei, wenn ich die APP.exe
ausführen, kann es die lib/A.dll
nicht finden/verwenden. Wie behebe ich das?Wie findet APP.exe in CLion/CMake unter Windows lib/A.dll, um ausgeführt zu werden?
Antwort
Ich glaube, Sie nicht DLL-Datei zu cmake Datei nicht hinzugefügt dies Quick CMake Tutorial oder CLion and CMake: only building a library without an executable?
Ich bin mir des Tutorials bewusst und habe die .dll hinzugefügt, aber anscheinend habe ich nicht den richtigen Befehl verwendet. Ich habe einen Befehl verwendet, der anscheinend gut im Kompilierungsschritt ist, aber nicht im Laufzeitschritt, z. B. wenn Sie in CLion Run drücken. – gknauth
Ich versuche nicht, eine Bibliothek ohne eine ausführbare Datei zu erstellen. Ich versuche, eine ausführbare Datei auszuführen, die eine externe DLL verwendet. Ich möchte, dass dieses Projekt gefunden wird, wenn ich Ausführen in CLion drücke. – gknauth
ich in der Regel nur D hinzu: /path/to/lib/A.dll auf dem Weg, entweder global durch Bearbeiten Sie die Benutzer- oder Systemumgebungsvariablen, oder erstellen Sie eine kleine Batch-Datei, die den Pfad zusammen mit CMAKE_PREFIX_PATH et al erstellt und dann möglicherweise etwas wie cmake-gui.exe oder devenv.exe erzeugt.
Danke, ich werde mir das anschauen. – gknauth
Wenn Sie import exist lib in cmake fragen, kann dieser Link hilfreich sein. Sie können diesen Code brauchen in Ihrem CMakeList.txt
# Create an IMPORTED library
add_library(A IMPORTED)
# Set IMPORTED_LOCATION *property* for this target
set_target_properties(SimpleAmqpClient PROPERTIES
IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/lib/A.dll)
# Then use library *target* for linking with
target_link_libraries(APP PUBLIC A)
- 1. Kann CoreCLR unter Windows XP ausgeführt werden?
- 2. Kann Text-zu-Sprache unter Windows Azure ausgeführt werden?
- 3. ESS findet Rterm.exe nicht unter Windows
- 4. Kann eine für Windows geschriebene Desktopanwendung unter Linux ausgeführt werden?
- 5. Wie können bestimmte untergeordnete Prozesse ausgeschlossen werden, um unter Valgrind ausgeführt zu werden?
- 6. Meteor - tasklist.exe kann unter Windows 8.1 nicht ausgeführt werden
- 7. Kann Xamarin Forms unter Windows 7 ausgeführt werden
- 8. Perl-Präambel, die unter Windows oder Linux ausgeführt werden
- 9. py.test findet keine Tests unter einer Klasse
- 10. Fenster Positionierung führt zu Platz um Windows unter Windows 10
- 11. Sind spezielle Sicherheitsrechte erforderlich, um Leistungsindikatoren unter Windows zu lesen?
- 12. Wie node.js unter Windows zu aktualisieren?
- 13. Wie unter Windows zu patchen?
- 14. Kann Mono unter IIS 7 ausgeführt werden?
- 15. Wird Windows Phone 8 SDK unter Windows 7 ausgeführt?
- 16. Kann der Windows Phone 7 Series-Emulator unter Windows XP ausgeführt werden?
- 17. Wie for-Schleife in Windows-Batch-Datei ausgeführt Namen um
- 18. Wie testen, dass JRuby-Skript unter Windows ausgeführt wird?
- 19. Wie werden alle Specs2-Tests unter IntelliJ IDEA ausgeführt?
- 20. Programm muss als Administrator in Windows 10 ausgeführt werden
- 21. Wie interaktive Eingabe in Skript einbezogen werden, um von der Befehlszeile ausgeführt zu werden
- 22. kann Memcached in einer Windows (x64) 64bit-Umgebung ausgeführt werden?
- 23. Was benötige ich, um Assembly unter Windows 7 zu schreiben?
- 24. Wie werden Python-Bibliotheken unter Windows korrekt verwendet?
- 25. Wie stderr unter Windows/DOS zu erfassen?
- 26. Wird der Speicher für Delphi-Anwendungen, die unter Windows Server 2008 (SP1) ausgeführt werden, nicht zurückgewonnen?
- 27. Wie Flask unter Windows installieren?
- 28. Systemaufrufe unter Windows
- 29. Wie findet Windows diese Baugruppe nicht?
- 30. Get CMake, Flex unter Windows zu finden
Haben Sie die ausführbare Datei nach dem Bauprozess erfolgreich bewegen? –