CMein Übereinstimmung mit find_library?

8

Man gibt find_library (Name PATHS path1..pathn)

an

Meine Frage ist, wie findet find_library den Namen der Bibliotheksdatei (unter Windows und Linux)?

Zum Beispiel kann find_library die MagicK- und MagicK ++ - DLL-Dateien in der angegebenen Windows-Binärinstallation von GraphicsMagicK nicht identifizieren:

Die Dateien sind: CORE_RL_magick_.dll

Suche nach den Abfragen:

Magie CORE_RL_magick

funktioniert nicht.

    
MetaChrome 09.01.2013, 17:59
quelle

1 Antwort

13

Sie können sich diese Dokumentationslinks ansehen:

Ссылка

Ссылка

Ссылка

find_library kann einen oder mehrere Bibliotheksnamen akzeptieren. Diese Namen erhalten den Wert von CMAKE_FIND_LIBRARY_PREFIXES vorangestellt und CMAKE_FIND_LIBRARY_SUFFIXES  angehängt. Diese zwei Variablen sollten für jedes Betriebssystem festgelegt werden, je nachdem, wie die Libraries dort vorangestellt oder ergänzt werden.

In Ihrem Fall würde ich für Windows

schreiben %Vor%

und für Linux

%Vor%

und dann schreiben

%Vor%

BEARBEITEN:

CMAKE_FIND_LIBRARY_PREFIXES und CMAKE_FIND_LIBRARY_SUFIXES werden automatisch vom Befehl project() festgelegt Es ist also eine bessere Lösung, als erst nach dem Setzen von find_library() die Variablen manuell zu setzen.

    
Domen Vrankar 10.01.2013, 00:00
quelle

Tags und Links