1. 程式人生 > >g++/gcc 常見選項。(muduo 編譯小程式舉例)

g++/gcc 常見選項。(muduo 編譯小程式舉例)

-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

————————————————————————————————————————————————————————