GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara menautkan libcurl ke program c++ saya di linux?

Anda dapat mencoba menggunakan curl-config --libs .


Inklusi file header Anda baik-baik saja; masalah Anda terjadi pada langkah penautan. Untuk menautkan ke libcurl, Anda perlu menambahkan -lcurl opsi baris perintah, dengan anggapan dipasang di direktori standar:

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

Jika tidak diinstal di direktori standar, Anda juga perlu menambahkan -L/path/to/libcurl , mis. sesuatu seperti:

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

Perhatikan juga bahwa -lcurl opsi harus muncul setelah daftar file objek yang Anda tautkan, jika tidak maka tidak akan ditautkan dengan benar.


Siapa pun yang menggunakan ecplise CDT maka Anda perlu melakukan hal berikut. Pertama di terminal masuk

curl-config --libs

Di komputer saya, hasilnya adalah

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

kemudian lakukan sesuai dengan tangkapan layar ini dan Anda akan dapat mengkompilasi. btw jangan lupa untuk menambahkan file header di kode Anda

Jadi Anda memasukkan jalur folder pustaka tanpa -L dan nama pustaka tanpa -l karena akan ditambahkan secara otomatis oleh linker.


Jawaban alternatif (yang pertama sangat bagus). Pertimbangkan untuk menggunakan keluaran yang dikembalikan oleh "pkg-config --libs libcurl" sebagai argumen untuk kompiler Anda.

Misalnya,

CPPFLAGS=`pkg-config --libs libcurl`

g++ $CPPFLAGS myfile.o

Pkg-config adalah cara standar untuk pustaka sumber terbuka untuk menyampaikan kepada Anda cara menautkannya / #include file mereka.


Linux
  1. Bagaimana cara menemukan path lengkap program C++ Linux dari dalam?

  2. Bagaimana cara mendapatkan id utas dari pthread di program linux c?

  3. AVR - Cara memprogram chip AVR di Linux

  1. Cara Membuat Tautan Keras dan Simbolik di Linux

  2. Bagaimana Cara Memulai Ulang (atau Mengatur Ulang) Proses yang Berjalan Di Linux?

  3. Bagaimana cara menjalankan program C++ di dalam program C++ lain?

  1. Cara mematikan proses atau menghentikan program di Linux

  2. Bagaimana memprogram file pohon perangkat Linux .dts?

  3. Bagaimana cara mengetahui di mana suatu program macet di linux?