Attualmente sto provando a compilare libcurl in c per Windows 32x su Ubuntu 64x 14.04. Dopo un po 'di ricerca ho seguito questi passi:CrossCiled C Windows libcurl non viene collegato correttamente su Ubuntu
1) Scarica libreria dal https://curl.haxx.se/download.html
2) Andate nella cartella libcurl estratta ed eseguire:
./configure --host=i686-w64-mingw32 --build=i686-pc-linux-gnu --prefix=/usr/i686-w64-mingw32/ --enable-static --disable-shared
3) Eseguire: fare
4) Eseguire: sudo make install
Poi ho aggiunto questi includono SCHEDA nti:
#include <winsock2.h> // Needed for curl
#include <windows.h> // Windows API
#include <curl/curl.h>
int main(int argc, char** argv)
{
CURL *curl;
CURLcode response;
char url[] = "someurl.com";
curl = curl_easy_init();
if(curl)
{
curl_easy_setopt(curl, CURLOPT_URL, url); //set url options
/* Perform the request, res will get the return code */
response = curl_easy_perform(curl);
if(response != CURLE_OK)
{
//Do something
}
/* always cleanup */
curl_easy_cleanup(curl);
}
return 0;
}
Ora ho provato a compilare il mio codice con i seguenti argomenti:
i686-w64-mingw32-gcc main.c -o main.exe -L/usr/i686-w64-mingw32/lib -lcurl
Il compilatore restituito seguente codice di errore:
/tmp/ccebLf6U.o:main.c:(.text+0x336): Not defined reference to `_imp__curl_easy_init'
/tmp/ccebLf6U.o:main.c:(.text+0x365): Not defined reference to `_imp__curl_easy_setopt'
/tmp/ccebLf6U.o:main.c:(.text+0x372): Not defined reference to `_imp__curl_easy_perform'
/tmp/ccebLf6U.o:main.c:(.text+0x3f4): Not defined reference to `_imp__curl_easy_cleanup'
collect2: error: ld returned 1 exit status
Qualcuno ha un'idea su come risolvere il problema ?
[EDIT]
qualcosa di veramente interessante mi sono imbattuto su è che se si chiama curl-config si ottiene un sacco di opzioni del compilatore.
Perché hai taggato [tag: linux] e [tag: ubuntu] se includi 'windows.h'? ... – LPs
@LPs Leggi cosa ho dichiarato nella mia prima frase. Ho fatto un crosscompile su Ubuntu, ovvero Linux, e il mio problema sta nel percorso crosscompile di Linux. – Qubasa