GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo vinculo libcurl a mi programa C++ en Linux?

Puedes intentar usar curl-config --libs .


Las inclusiones de su archivo de encabezado están bien; su problema está ocurriendo en el paso de vinculación. Para vincular contra libcurl, debe agregar el -lcurl opción de línea de comandos, asumiendo que está instalado en un directorio estándar:

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

Si no está instalado en un directorio estándar, también debe agregar el -L/path/to/libcurl , p.ej. algo como:

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

También tenga en cuenta que el -lcurl la opción tiene que aparecer después la lista de archivos de objetos que está vinculando; de lo contrario, no se vinculará correctamente.


Cualquiera que esté usando ecplise CDT, entonces debe hacer lo siguiente. Primero en la terminal ingrese

curl-config --libs

En mi máquina, el resultado es

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

luego hazlo de acuerdo con esta captura de pantalla y podrás compilar. por cierto, no olvide agregar archivos de encabezado en su código

Por lo tanto, ingrese la ruta de la carpeta de la biblioteca sin -L y el nombre de la biblioteca sin -l porque el enlazador los agregará automáticamente.


Una respuesta alternativa (la primera es excelente). Considere usar la salida devuelta por "pkg-config --libs libcurl" como argumento para su compilador.

Por ejemplo,

CPPFLAGS=`pkg-config --libs libcurl`

g++ $CPPFLAGS miarchivo.o

Pkg-config es una forma estándar para que las bibliotecas de código abierto le comuniquen cómo vincularlas / #incluir sus archivos.


Linux
  1. Cómo crear enlaces duros y simbólicos en Linux

  2. ¿Cómo reiniciar (o restablecer) un proceso en ejecución en Linux?

  3. ¿Cómo encontrar la ruta completa del programa C++ Linux desde adentro?

  4. ¿Cómo obtener la identificación del subproceso de un pthread en el programa linux c?

  5. ¿Cómo saber dónde está atascado un programa en Linux?

Cómo compilar C, C++ y Java usando Terminal en Linux

Cómo compilar y ejecutar programas C, C++ en Linux

Cómo funciona el programa ping en Linux

Maneras brillantes de cómo ejecutar un programa en Linux

Cómo escribir y ejecutar un programa C en Linux

¿Cómo puedo perfilar el código C++ que se ejecuta en Linux?