簡體   English   中英

Linux中用於curl / curl.h的C / C ++

[英]C/C++ in Linux for curl/curl.h

我們正在使用CentOS6(Linux),並嘗試僅通過C / C ++連接Web服務器。

我的研究:
我找到了可以與網絡服務器通信的curl庫
所以我在http://curl.haxx.se/download.html中安裝了ubuntu-7.22.0版本

我能夠包含“ curl / curl.h”,但無法編譯其方法。

問題:

請讓我知道適用於我們平台的curl的正確版本,以及如何添加-lcurl進行編譯。 (例如:g ++ -lcurl api api.c)

請給出詳細的解釋,因為它對我來說更重要。 提前致謝。

-瓦桑斯

您的問題不是特定於curlgcc的參數順序很重要:編譯器選項,然后是源文件,然后是目標文件,然后是庫(從高級到低級); 所以嘗試編譯

 gcc -Wall -g prog.c -lcurl -o binprog

或(對於C ++程序)

 g++ -Wall -g otherprog.cc -lcurl -o binotherprog

當然,您需要開發包,例如libcurl-devlibcurl3-gnutls-devlibcurl4-gnutls-dev (打包在Ubuntu中); 在您的CentOS發行版上,它可能稱為libcurl-devel或其他名稱。

您應該安裝發行版提供的開發包(對於libcurl ),而不是從http://curl.haxx.se/download.html

實際上,您還應該學習如何使用GNU make (構建器)和gdb (調試器)。

使用gcc (和變體)

庫必須在鏈接命令中位於最后。

這是因為鏈接器按從左到右的順序處理命令行參數。

如果庫在目標文件之前,則在處理庫時,沒有未解析的外部引用需要解析。

處理完目標文件后,便有未解析的外部引用,因此庫必須是最后一個。

這是您應該如何進行

如果您已經安裝了curl,請從此鏈接http://curl.haxx.se/download.html安裝curl。

然后按照本教程http://curl.haxx.se/libcurl/c/libcurl-tutorial.html進行操作

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM