it-swarm.com.de

Wie füge ich Linker-Flag für Bibliotheken mit CMake hinzu?

Beim Verknüpfen einer Binärdatei kann ich CMAKE_EXE_LINKER_FLAGS verwenden, um ein Flag hinzuzufügen (sagen wir beispielsweise -Wl, -as-required). Wenn ich jedoch eine Bibliothek verlinke, wird dieses zusätzliche Flag nicht berücksichtigt. Ich würde etwas wie CMAKE_LIB_LINKER_FLAGS brauchen, aber ich kann es nicht finden. 

Wie soll ich es machen ? 

26
Barth

Sie können CMAKE_SHARED_LINKER_FLAGS wie verwenden:

set (CMAKE_SHARED_LINKER_FLAGS "-Wl,--as-needed")

Diese Frage sieht aus wie verwandt.

UPD
Danke an @Bruce Adams, der darauf hinweist, dass CMake seit v3.13 special command für diesen Zweck hat: add_link_options.

34
Gluttton

checkout das ucm_add_linker_flags macro von ucm - es befasst sich mit dem Anhängen von Linkerflags an die entsprechenden cmake-Variablen

2
onqtam

Anscheinend hängt dieses Problem mit dem Problem zusammen, das ich in CLION hatte. Gelöst durch Hinzufügen von: 

{set(CMAKE_CXX_STANDARD_LIBRARIES -ljpeg)} 

in CMakeLists.txt

0
Petrus Kambala