本實例只是簡單的調用了一個libcurl.a的靜態庫,實例代碼如下:
#include <curl/curl.h> #include <iostream> using namespace std; int main(int argc, char* argv[]) { cout << curl_version() << endl; return 0; }
最簡單的編譯指令
直接命令行輸入下面的命令:
g++ main.cpp -lcurl -I/usr/include/ -L/usr/lib/x86_64-linux-gnu //完整的編譯指令
上面的是完整的編譯指令:
- -l<靜態庫> 是指明編譯時引用哪個靜態庫;
- -I<頭文件路徑> 是指明需要用到的頭文件;
- -L<庫文件路徑> 是為了指明靜態庫文件所在的目錄
但在我自己的服務器上,我是進行了默認安裝的,所以靜態庫的相關文件都是放置在編譯器默認目錄下,所以就用更簡單的:
g++ main.cpp –lcurl
Makefile方式的編譯
主要是寫一個Makefile:
LIB = -lcurl INCLUDE = /usr/include LIB_PATH = /usr/lib/x86_64-linux-gnu main: main.o g++ -o main main.o -I$(INCLUDE) -L$(LIB_PATH) $(LIB)
CMake方式的編譯
主要是寫一個CMakeLists.txt:
CMAKE_MINIMUM_REQUIRED(VERSION 2.8) PROJECT(stocks) AUX_SOURCE_DIRECTORY(./ DIR_SRC) LINK_DIRECTORIES("/usr/lib/x86_64-linux-gnu/") ADD_EXECUTABLE(stocks ${DIR_SRC}) TARGET_LINK_LIBRARIES(stocks curl)