web-dev-qa-db-fra.com

Comment ajouter un indicateur d'éditeur de liens pour les bibliothèques avec CMake?

Lors de la liaison d'un fichier binaire, je peux utiliser CMAKE_EXE_LINKER_FLAGS pour ajouter un indicateur (disons -Wl, comme nécessaire). Cependant, si je lie une bibliothèque, cet indicateur supplémentaire ne sera pas pris en compte. J'aurais besoin de quelque chose comme CMAKE_LIB_LINKER_FLAGS mais je ne le trouve pas. 

Comment dois-je faire ? 

26
Barth

Vous pouvez utiliser CMAKE_SHARED_LINKER_FLAGS like:

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

Cette question semble être liée.

UPD
Merci à @Bruce Adams qui fait remarquer que depuis la version 3.13, CMake dispose de commande spéciale à cette fin: add_link_options.

34
Gluttton

checkout le ucm_add_linker_flags macro de ucm - traite de l'ajout de drapeaux de l'éditeur de liens aux variables cmake appropriées

2
onqtam

On dirait que ce problème est lié à celui que j'ai eu dans CLION. Résolu en ajoutant: 

{set(CMAKE_CXX_STANDARD_LIBRARIES -ljpeg)} 

à CMakeLists.txt

0
Petrus Kambala