g++/gcc 常見選項。(muduo 編譯小程式舉例)
阿新 • • 發佈:2019-02-05
-g 加入除錯?
-o 輸出
-I 加入尋找標頭檔案的路徑。
例如:
#include <muduo/net/TimerId.h>
/*
如果/usr/include這些系統庫路徑沒有muduo庫的話,我們編譯需要加上“-I muduo庫路徑” 編譯器才能找到這些標頭檔案。
*/
-l 連結庫 (比如常見多執行緒下 -lpthread)
-L 提供-l 連結庫的 路徑。
例如:
LDFLAGS = -L$(MUDUO_LIBRARY) -lmuduo_net -lmuduo_base -lpthread -lrt
————————————————————————————————————————————————————————
muduo安裝:書上的網址未有連線上,於是在github上找到陳碩大神的muduo程式碼。
傳送門: https://github.com/chenshuo/muduo
一開始是下載該網址上master分支上的程式碼,後來編譯後沒有找到它的例子,比如echo等小程式。
發現他experiment分支上有例子程式碼,於是下載下來按書上的編譯。
./build.sh -j2
./build.sh install
第二個命令後會生成 ../build/release-install目錄,裡面就有include目錄和lib目錄。我們編譯就用這兩個。
然後這是編譯echo例子的g++:
g++ -g -o echo echo.* main.cc -I ~/muduoExample/build/release-install/include/ -L ~/muduoExample/build/release-install/lib/ -lmuduo_base -lmuduo_net -lpthread
————————————————————————————————————————————————————————