2012-01-16 68 views
19

He estado tratando de usar LibCURL en C++ durante un par de horas, y realmente me está poniendo de los nervios. Tengo la sensación de que alguien más ha tenido un problema como este antes, pero no he encontrado y publicaciones que me hayan dado una solución.Usando LibCURL C++

Esto es lo que he hecho:

Desde el libCurl download page es tan confuso, estoy fijando exactamente lo que he hecho. Primero, descargué el archivo en la parte superior (curl-7.23.1.zip) y luego lo abrí en winRAR. Luego fui a la carpeta de inclusión y luego extraje la carpeta 'curl' de allí.

enter image description here

Entonces creó un nuevo proyecto con Code :: Blocks y, a continuación, se trasladó la carpeta 'rizo' en la misma carpeta que mi proyecto.

enter image description here

luego agrego '# include 'rizo/curl.h'' a la parte superior de mi archivo, y luego tratar de inicializar un simple var RIZO ... entonces me da un error, diciendo:

...\main.cpp|22|undefined reference to `_imp__curl_easy_init'| 

Aquí está una foto del código/error real: enter image description here

Honestamente, creo que es algo muy, muy estúpida que estoy haciendo, pero simplemente no saben qué hacer.

+0

Todavía no he conseguido que esto funcione. ¿Alguien tiene alguna otra sugerencia? Gracias de nuevo. – hetelek

Respuesta

9

Por último tengo que trabajar con algunos de ayuda

Aquí es cómo lo hice:

  1. descargar el paquete libcurl el 'Win32 genérico'. (7.24.0)
  2. En Code :: Blocks, haga clic con el botón derecho en su proyecto y abra las opciones de compilación.
  3. Vaya a 'Configuración del enlazador' y agregue 'curldll' en el cuadro de lista 'Bibliotecas de enlace'. (image)
  4. Vaya a 'Directorios de búsqueda' y en 'Compilador', vincule a la ruta de su carpeta 'curl-7.24.0-devel-mingw32 \ include'.
  5. Vaya a la pestaña 'Enlazador' en 'Buscar directorios' y agregue la ruta de su directorio 'curl-7.24.0-devel-mingw32 \ lib'.
  6. Mueva todas las DLL de su carpeta 'curl-7.24.0-devel-mingw32 \ bin' a la carpeta 'bin' de sus proyectos.
  7. construir y disfrutar

Para utilizar libCurl con Qt, que es un poco más fácil.

  1. Mueva todos los archivos necesarios/dlls/libraries a su carpeta de depuración. Asegúrese de incluir la carpeta 'curl'.
  2. Vaya a su archivo .pro y agregue la ubicación del archivo 'libcurldll.a'. Por ejemplo (la mía):

    LIBS + = C: \ libcurl \ 7.24.0 \ lib \ libcurldll.a

  3. Disfrute.

Gracias R. Martinho Fernandes!

2

También debe incluir la carpeta lib/ de libcurl, que contiene los archivos *.a o *.dll. Estos archivos son la biblioteca en sí, el compilado en binario en el que vincula su programa.

Si vincula la biblioteca dinámica, tendrá que poner el *.dll en el directorio del proyecto, en C:\Windows o en C:\MinGW\bin (si C: \ MinGW es el camino del compilador).

+0

¿Podría explicar un poco más sobre lo que haría? Por el * .dll, ¿te refieres al 'libcurl.dll'? Gracias de nuevo. – hetelek

+0

Sí, libcurl.dll y cualquier otro dll que pueda encontrar en su descarga. Necesita extraer el binario y colocarlo en un lugar donde su sistema operativo lo encuentre de nuevo. Para enlazar estáticamente con el dll, tiene que colocarse en $ COMPILER_PATH \ lib, donde $ COMPILER_PATH es típicamente C: \ MinGW con C :: B – Geoffroy

0

"Primero, descargué el archivo en la parte superior (curl-7.23.1.zip), y luego lo abrí en winRAR. Luego fui a la carpeta de inclusión, y luego extraje la carpeta 'curl' de allí "

Parece que no compiló el código fuente para curl. Todas las descargas en la parte superior de la página son solo fuente.

+0

No compiló libcurl. Entiendo que su pregunta es acerca de los errores de compilación en su proyecto. Fueron causados ​​porque está tratando de incluir cosas que aún no existen. (Al menos, eso es lo que me parece a mí). –