g++/gcc 常见选项。(muduo 编译小程序举例)

时间:2022-12-02 02:20:56

-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

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