Ich habe ein seltsames Problem mit CMake.
Ich importiere Curl in mein Projekt, also schreibe ich eine vereinfachte Zusammenfassung meiner CMakeLists.txt-Datei für Sie.
ADD_LIBRARY (libcurl SHARED IMPORTIERT)
SET_PROPERTY (ZIEL libcurl PROPERTY IMPORTED_LOCATION ../ lib / libcurl.lib)
Wenn ich CMake ausführe, erzeugt es die Projektdateien für MS VC ++ (auch für Linux). Dann finde ich in der Projektdatei einen falschen Verweis auf die curl-Bibliothek ( libcurl-NOTFOUND )!
Wenn ich meinen Code in statischen Import ändere:
ADD_LIBRARY (libcurl STATISCH IMPORTED)
SET_PROPERTY (ZIEL libcurl PROPERTY IMPORTED_LOCATION ../ lib / libcurl.lib)
Ich finde den richtigen Verweis auf ../ lib / libcurl.lib.
Haben Sie eine Idee, warum das passiert?
Vielen Dank!
Bei einer gemeinsam genutzten Bibliothek muss IMPORTED_LOCATION
auf die DLL verweisen, nicht auf die lib. Weitere Informationen finden Sie in der Dokumentation . Sie können auch die Eigenschaft IMPORTED_IMPLIB festlegen.
Übrigens, CMake hat auch ein Paket für Curl finden; vielleicht könnten Sie das verwenden?