2013-03-27 108 views
0

我一直在尋找幾個小時,發現幾個線程都有同樣的問題,並嘗試了所有的建議。我的curl.h在C:\ MinGW \ msys \ 1.0 \ curl-7.29.0 \ include \ curl中,我在編譯時加入了它,但由於某種原因,gcc聲稱它找不到它:libcurl curl/curl.h沒有這樣的文件或目錄Win xp 32 MinGW

gcc -o curl.exe curl.c -IC:/MinGW/msys/1.0/local/ -IC:/MinGW/msys/1.0/curl-7.29.0/lib/.libs/ -IC:/MinGW/msys/1.0/curl-7.29.0/include/curl -IC:/MinGW/msys/1.0/OpenSSL-Win32/ -lcurl -lws2_32 

和結果:

curl.c:4:32: fatal error: curl/curl.h: No such file or directory 

UPDATE:(隨着從H2CO3的建議)

$ gcc -o curl.exe curl.c -IC:/MinGW/msys/1.0/local -IC:/MinGW/msys/1.0/curl-7.29.0/lib/.libs/ -IC:/MinGW/msys/1.0/curl-7.29.0/include/ -IC:/MinGW/msys/1.0/OpenSSL-Win32/include/ -lws2_32 

C:\DOCUME~1\J10441\LOCALS~1\Temp\ccHP6WWt.o:curl.c:(.text+0xa8): undefined reference to `_imp__curl_global_init' 
C:\DOCUME~1\J10441\LOCALS~1\Temp\ccHP6WWt.o:curl.c:(.text+0xe6): undefined reference to `_imp__curl_formadd' 
C:\DOCUME~1\J10441\LOCALS~1\Temp\ccHP6WWt.o:curl.c:(.text+0x124): undefined reference to `_imp__curl_formadd' 
C:\DOCUME~1\J10441\LOCALS~1\Temp\ccHP6WWt.o:curl.c:(.text+0x162): undefined reference to `_imp__curl_formadd' 
C:\DOCUME~1\J10441\LOCALS~1\Temp\ccHP6WWt.o:curl.c:(.text+0x169): undefined reference to `_imp__curl_easy_init' 
C:\DOCUME~1\J10441\LOCALS~1\Temp\ccHP6WWt.o:curl.c:(.text+0x183): undefined reference to `_imp__curl_slist_append' 
C:\DOCUME~1\J10441\LOCALS~1\Temp\ccHP6WWt.o:curl.c:(.text+0x1b8): undefined reference to `_imp__curl_easy_setopt' 
C:\DOCUME~1\J10441\LOCALS~1\Temp\ccHP6WWt.o:curl.c:(.text+0x211): undefined reference to `_imp__curl_easy_setopt' 
C:\DOCUME~1\J10441\LOCALS~1\Temp\ccHP6WWt.o:curl.c:(.text+0x237): undefined reference to `_imp__curl_easy_setopt' 
C:\DOCUME~1\J10441\LOCALS~1\Temp\ccHP6WWt.o:curl.c:(.text+0x245): undefined reference to `_imp__curl_easy_perform' 
C:\DOCUME~1\J10441\LOCALS~1\Temp\ccHP6WWt.o:curl.c:(.text+0x25e): undefined reference to `_imp__curl_easy_strerror' 
C:\DOCUME~1\J10441\LOCALS~1\Temp\ccHP6WWt.o:curl.c:(.text+0x288): undefined reference to `_imp__curl_easy_cleanup' 
C:\DOCUME~1\J10441\LOCALS~1\Temp\ccHP6WWt.o:curl.c:(.text+0x296): undefined reference to `_imp__curl_formfree' 
C:\DOCUME~1\J10441\LOCALS~1\Temp\ccHP6WWt.o:curl.c:(.text+0x2a4): undefined reference to `_imp__curl_slist_free_all' 

collect2:ld返回1退出狀態

如果我嘗試用-lcurl編譯它說..... ..... ld.exe:找不到-lcurl是因爲它找不到dll嗎?

+1

注意:頭文件與DLL無關。谷歌「C編譯過程」並閱讀並接受。 – 2013-03-27 21:40:15

回答

2

您包括<curl/curl.h>而不是<curl.h>。所以,你必須告訴編譯器查找頭文件在include目錄,include/curl

gcc -IC:\MinGW\msys\1.0\curl-7.29.0\include etc. etc. 
1

這可能是超出了你在做什麼範圍,但是,我發現最好在MinGW/MSYS環境中安裝cURL(libcurl)的一個版本。安裝完成後,任何程序都可以編譯爲使用它,典型的使用方法是使用curl/curl.h >和-lcurl約定,因爲它安裝在GCC預期的地方。我記錄了我的流程here

相關問題