Es por eso que acudí en la propia página a compilaciones hechas por terceros:
https://curl.haxx.se/download.html#Win32
Están ya por la versión 7.49 y la última compilación corresponde a la 7.40 y es la única que tiene las librerías, que tienen vulnerabilidades, pero mejor que nada por supuesto :X
¿Alguien ha conseguido compilarlo alguna vez, consejos? ¿dónde puedo encontrar su última compilación?, bueno mientras, iré pasando los .a a .lib a ver si encuentro la forma y así puedo usar las librerías estáticas..
Un saludo!
Edito: He intentado crear la .lib a partir de libcurl.a y libcurl.def así como con libssh2.a y libssh2.def, y he conseguido crear las ambas en .lib a partir del comando pero su contenido está mal construido, explico:
Primero abro el command prompt de MVS:
http://stackoverflow.com/questions/21476588/where-is-developer-command-prompt-for-vs2013
Una vez allí he intentado generar las librerías estáticas .lib con los .a y sus archivos .def, accediendo al directorio "lib" donde están archivos .a y .def Con el comando:
Citar
lib /machine:i386 /def:libcurl.def
lib /machine:i386 /def:libssh2.def
lib /machine:i386 /def:libssh2.def
Esto me crea libcurl.lib y libssh2.lib y sus .exp.
Sin embargo el .lib que me crea no tiene sentido ocupa 42kb mientras que el libcurl.a y libcurl.dll ocupan 660 kbs. Luego normal que al añadirle al proyecto me muestre mensaje de error diciendo que libcurl.dll no está en el equipo.
Creo un proyecto para C++ incluyo cabeceras, directorios de librerías (el "lib") y añado que quiero añadir las librerias libcurl.lib y libssh2.lib.
Compilo sin error un programa que usa libcurl, al ejecutar muestra error "el programa no puede iniciarse porue falta libcurl.dll en el equipo..".
¿?¿? ¿Cómo genero correctamente el .lib a partir del .a?
http://stackoverflow.com/questions/9346054/convert-from-mingw-a-to-vc-lib
Esto me genera un .lib de 42 kbs XD, también es cierto que hay más .a que tienen que ver tanto con libcurl como con libssh2. libcrypt.a libcurl.a lib....a y el libcurl.def pero el comando "lib" debería de valer igualmente, que ocurre.
Saludos sigo mirando.
Los .a son librerías estáticas de mingw, funcionan para codeblocks pero para VS no que usa .lib. Con el MVS command prompt siguiendo el tutorial unos dicen que se puede hacer otros no, yo lo he probado y ese fue el resultado.
http://stackoverflow.com/questions/5965171/what-is-a-file-with-extension-a
Vuelve edicion delicatesse:
http://stackoverflow.com/questions/20171165/getting-libcurl-to-work-with-visual-studio-2013
Lo he conseguido hacer compilar con nmake como pone en el ultimo link, sin embargo me aparece que simbolos externos no resueltos, he añadido los objet file al debug¿? y sigue igual, ¿porque no los reconoce?, en ello.
Solucionado esto ultimo también habia que añadir al preprocesador CURL_STATICLIB, ahora compila con la librería buena, PERO al ejecutar un codigo de prueba obtengo error en ejecucion debug assetion failed.., en ello.
Código
CURL *curl; CURLcode res; curl = curl_easy_init(); if (curl) { /* First set the URL that is about to receive our POST. This URL can just as well be a https:// URL if that is what should receive the data. */ curl_easy_setopt(curl, CURLOPT_URL, "https://www.google.co.uk"); /* Perform the request, res will get the return code */ res = curl_easy_perform(curl); /* always cleanup */ curl_easy_cleanup(curl); } return 0;
curl_easy_perform(curl); heap corruption ¿?, quizás falte una directiva de preprocesador? :/
Jiji, me pasa lo mismo que a este:
https://curl.haxx.se/mail/lib-2010-11/0244.html
FINAL DELICATESSE EDITION: POR FIN, TENGO CURL 7.48 RULANDO FINO.
El error se debía a que estaba usando el modo debug en vez de release, con release no sale el debug:
http://www.cplusplus.com/forum/windows/172335/
Saludos XDD
PD: me encantan los hilos que abro y me voy respondiendo a mi mismo hasta resolverlos ^^
Lo unico a ver si encuentro manera de poderlo usar en modo debug.