Partage

[CMake] Link d'une bibliothèque

cannot find -lcurl

17 août 2018 à 15:34:36

Bonjour à tous :)

J'aimerais utiliser la bibliothèque libcurl dans mon projet. Je l'ai donc téléchargée et ajoutée dans l'arborescence de mon projet comme cela :

Pour faire le lien, voici ce que j'ai mis dans mon CMakeLists.txt :

project(untitled)

set(CMAKE_CXX_STANDARD 11)

include_directories(include)
link_directories(lib)

add_executable(untitled main.cpp)

target_link_libraries(untitled libcurl.a)

Jusqu'ici tout va bien, mon IDE ne dit rien et me propose les fonctions de cURL en auto-complétion. Sauf que, bien évidemment, à la compilation, ça ne fonctionne pas :

c:/mingw/bin/../lib/gcc/mingw32/6.3.0/../../../../mingw32/bin/ld.exe: cannot find -lcurl

Je ne sais pas où j'ai fait une erreur, mais je pense que mon CMakeLists n'est pas bon. Quelqu'un aurait une idée ? Merci ! ;)


-
Edité par plagoutte 17 août 2018 à 15:35:11

Vous êtes demandeur d'emploi ?
Sans diplôme post-bac ?

Devenez Développeur web junior

Je postule
Formation
en ligne
Financée
à 100%
21 août 2018 à 5:33:16

link_directories(/* chemin de libcurl.a*/)

et comme libcurl possède très certainement un support CMAKE, un petit tour dans la doc de CMAKE fournira probablement une solution plus propre ;)

Mettre à jour le MinGW Gcc sur Code::Blocks. Du code qui n'existe pas ne contient pas de bug
21 août 2018 à 11:12:11

Ne pas utiliser link_directories ni include_directories, ce sont des fonctions qui polluent l'espace global. Préférez target_include_directories et target_link_libraries qui sont embarqués avec le target les rendant transitifs et exportés.
l'azerty est aux dispositions ce que subversion est aux SCM

[CMake] Link d'une bibliothèque

× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
  • Editeur
  • Markdown