GNU/Linux >> Znalost Linux >  >> Linux

Jak propojím libcurl s mým programem c++ v linuxu?

Můžete zkusit použít curl-config --libs .


Vaše zahrnutí souboru záhlaví jsou v pořádku; váš problém se vyskytuje v kroku propojení. Chcete-li vytvořit odkaz proti libcurl, musíte přidat -lcurl možnost příkazového řádku, za předpokladu, že je nainstalována ve standardním adresáři:

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

Pokud není nainstalován ve standardním adresáři, musíte také přidat -L/path/to/libcurl , např. něco jako:

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

Všimněte si také, že -lcurl možnost se musí objevit po seznam souborů objektů, které propojujete, jinak se nepropojí správně.


Každý, kdo používá ecplise CDT, pak musíte udělat následující. Nejprve na terminálu enter

curl-config --libs

Na mém počítači je výsledek

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

pak udělejte podle tohoto snímku obrazovky a budete moci kompilovat. btw nezapomeňte do kódu přidat hlavičkové soubory

Zadáte tedy cestu ke složce knihovny bez -L a název knihovny bez -l, protože budou automaticky přidány linkerem.


Alternativní odpověď (první je vynikající). Zvažte použití výstupu vráceného "pkg-config --libs libcurl" jako argumentu pro váš kompilátor.

Například,

CPPFLAGS=`pkg-config --libs libcurl`

g++ $CPPFLAGS myfile.o

Pkg-config je standardní způsob, jak vám knihovny s otevřeným zdrojovým kódem sdělují, jak se proti nim propojit / #include jejich soubory.


Linux
  1. Jak najít úplnou cestu k programu C++ Linux zevnitř?

  2. Jak programovat soubory stromu zařízení Linux .dts?

  3. Jak získat ID vlákna pthread v programu linux c?

  1. Jak vytvořit pevné a symbolické odkazy v Linuxu

  2. Jak restartovat (nebo resetovat) běžící proces v Linuxu?

  3. Jak spustit program C++ v jiném programu C++?

  1. Jak zabít proces nebo zastavit program v Linuxu

  2. AVR - Jak naprogramovat čip AVR v Linuxu

  3. Jak zjistit, kde je program v linuxu zaseknutý?