C++ | CMake findet library nicht?

Wilhelm74  21.07.2024, 19:00

Dein Profilbild hat glaube ich einen bug

Helmut3445 
Beitragsersteller
 21.07.2024, 19:02

Wilhelm, das bringt mir jetzt auch nichts :/ CMake ist ein stück Software von der.. naja speziellen Sorte

1 Antwort

Es klingt, als ob es mehrere mögliche Ursachen für dein Problem gibt. Hier sind einige Schritte, die du ausprobieren kannst:

Überprüfe den Pfad: Stelle sicher, dass der Pfad, den du mit CMAKE_PREFIX_PATH angibst, korrekt ist und auf das Verzeichnis zeigt, in dem sich die Config-Datei der Library befindet.

Verwende find_library: Anstatt find_package, könntest du find_library verwenden, um die Library zu finden. Zum Beispiel:

find_library(MY_LIBRARY NAMES libname PATHS /path/to/library)

target_link_libraries(Projekt ${MY_LIBRARY})

Überprüfe die Zieldefinition: Der Fehler “Cannot specify link libraries for target ‘Projekt’ which is not built by this project” deutet darauf hin, dass das Ziel Projekt nicht korrekt definiert ist. Stelle sicher, dass du das Ziel vor dem Aufruf von target_link_libraries erstellst:

add_executable(Projekt main.cpp)

target_link_libraries(Projekt ${MY_LIBRARY})

Debugging-Optionen verwenden: Du kannst CMake mit der Option --debug-find ausführen, um detaillierte Informationen darüber zu erhalten, welche Pfade durchsucht werden und warum die Library nicht gefunden wird1.

Config-Datei überprüfen: Stelle sicher, dass die Config-Datei der Library korrekt ist und alle notwendigen Informationen enthält. Manchmal kann es hilfreich sein, die Datei manuell zu überprüfen und sicherzustellen, dass alle Pfade und Namen korrekt sind.

Falls diese Schritte nicht helfen, könntest du auch versuchen, die Library in einem Standardverzeichnis zu installieren, das CMake automatisch durchsucht, oder die Umgebungsvariable CMAKE_PREFIX_PATH global zu setzen.

Viel Erfolg! Wenn du weitere Fragen hast, stehe ich gerne zur Verfügung. 😊

Woher ich das weiß:eigene Erfahrung

Helmut3445 
Beitragsersteller
 21.07.2024, 19:08

Die ChatGPT Antwort bringt leider nichts - das habe ich schon versucht. Trotzdem danke

Wilhelm74  21.07.2024, 19:14
@Helmut3445

Schade - Trotzdem viel Erfolg mit deinem Roboter Projekt, deinem guten Verhalten nach zu urteilen scheinst du eine Lösung verdient zu haben.

Gruß