GNU/Linux >> Tutoriels Linux >  >> Linux

Comment lier libcurl à mon programme c++ sous Linux ?

Vous pouvez essayer d'utiliser curl-config --libs .


Vos inclusions de fichiers d'en-tête sont très bien ; votre problème se produit à l'étape de liaison. Afin d'établir un lien avec libcurl, vous devez ajouter le -lcurl option de ligne de commande, en supposant qu'elle est installée dans un répertoire standard :

g++ -o sms ./src/sms.o -lcurl

S'il n'est pas installé dans un répertoire standard, vous devez également ajouter le -L/path/to/libcurl , par exemple. quelque chose comme :

# Assuming that /home/geekman/workspace/libcurl is where libcurl.a is located
g++ -o sms ./src/sms.o -L/home/geekman/workspace/libcurl -lcurl

Notez également que le -lcurl l'option doit apparaître après la liste des fichiers objet que vous liez, sinon il ne sera pas lié correctement.


Quiconque utilise ecplise CDT, vous devez faire ce qui suit. Entrez d'abord sur le terminal

curl-config --libs

Sur ma machine, le résultat est

-L/usr/lib/i386-linux-gnu -lcurl

puis faites selon cette capture d'écran et vous pourrez compiler. btw n'oubliez pas d'ajouter des fichiers d'en-tête dans votre code

Vous entrez donc le chemin du dossier de la bibliothèque sans -L et le nom de la bibliothèque sans -l car ils seront automatiquement ajoutés par l'éditeur de liens.


Une réponse alternative (la première est excellente). Envisagez d'utiliser la sortie renvoyée par "pkg-config --libs libcurl" comme argument pour votre compilateur.

Par exemple,

CPPFLAGS=`pkg-config --libs libcurl`

g++ $CPPFLAGS monfichier.o

Pkg-config est un moyen standard pour les bibliothèques open source de vous communiquer comment créer un lien avec elles/#include leurs fichiers.


Linux
  1. Comment créer des liens matériels et symboliques sous Linux

  2. Comment trouver le chemin complet du programme Linux C++ de l'intérieur ?

  3. Comment obtenir l'identifiant de thread d'un pthread dans le programme linux c?

  4. AVR - Comment programmer une puce AVR sous Linux

  5. Comment savoir où un programme est bloqué sous Linux ?

Comment compiler C, C++ et Java à l'aide de Terminal sous Linux

Comment compiler et exécuter des programmes C, C++ sous Linux

Comment fonctionne le programme ping sous Linux

Brilliant Ways sur la façon d'exécuter un programme sous Linux

Comment écrire et exécuter un programme C sous Linux

Comment puis-je profiler du code C++ exécuté sous Linux ?