我無法編譯,我在Odroid-XU4板上使用Ubuntu。我該如何解決這個問題?謝謝你的幫助。未定義的libcurl函數引用
[email protected]:~/Desktop/curl_test.2$ g++ -o postit2 postit2.c -lcurl
/tmp/cc4MoKQE.o: In function `main':
postit2.c:(.text+0x2c): undefined reference to `curl_mime_init'
postit2.c:(.text+0x36): undefined reference to `curl_mime_addpart'
postit2.c:(.text+0x48): undefined reference to `curl_mime_name'
postit2.c:(.text+0x56): undefined reference to `curl_mime_filedata'
postit2.c:(.text+0xfa): undefined reference to `curl_mime_free'
collect2: error: ld returned 1 exit status
[email protected]:~/Desktop/curl_test.2$ curl --version
curl 7.56.0 (armv7l-unknown-linux-gnueabihf) libcurl/7.47.0
OpenSSL/1.0.2g zlib/1.2.8 libidn/1.32 librtmp/2.3
Release-Date: 2017-10-04
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps
pop3 pop3s rtmp rtsp smb smbs smtp smtps telnet tftp
Features: AsynchDNS IDN IPv6 Largefile GSS-API Kerberos SPNEGO NTLM
NTLM_WB SSL libz TLS-SRP UnixSockets
也許您還安裝了另一個libcurl版本,g ++在鏈接時會啓動?它只會警告7.56.0中新增的API調用... –
應該做什麼?我需要刪除所有版本並嘗試安裝libcurl 7.56.0? –
你可以做到這一點;你也可以安裝和構建你想要的版本的Curl源代碼,但不安裝它。然後讓程序通過在新的Curl構建中指定它們的實際文件系統位置,爲新的Curl版本選擇標題和靜態庫。如果您需要從源代碼構建,安裝新Curl的問題在於,最終構建缺少SSL支持或其他有用功能的版本非常容易。如果你能從你的發行版中獲得你想要的版本,那不太可能是個問題。但您的發行版可能沒有該版本。 –