【muduo】源码编译

本文详细描述了在Ubuntu22.04Desktop环境下,如何下载并编译Boost库,以及如何配置Muduo项目,包括处理GCC警告、引入Boost库和生成Debug版本的过程。
摘要由CSDN通过智能技术生成

测试环境:Ubuntu22.04 Desktop

完成日期:2024/3/8

先编译依赖库boost

 下载boost源码压缩包

wget https://boostorg.jfrog.io/artifactory/main/release/1.84.0/source/boost_1_84_0.tar.gz

开始编译,根据电脑性能,这里可能花很长的时间。

默认情况下,将编译所有模块,可参考官网说明选择性编译必要模块。

cd boost_1_84_0/
./bootstrap.sh --prefix=`pwd`/install
./b2 install

编译完成,根据我自己的编译路径,最终编译生成的文件放在下面的路径,后面将在muduo编译脚本中引用它。

/home/test/boost_1_84_0/install

编译muduo

 克隆muduo源码仓库。

git clone https://github.com/chenshuo/muduo.git

注释掉GCC警告参数——‘-Wold-style-cast’

由于boost库中存在C风格的指针转换,在GCC中会报'old-style-cast'警告,而在muduo的cmake脚本中将其标记为错误(本意只针对于muduo自身的代码)。因此,这里需要将这个GCC警告参数注释掉:

在shell脚本中引入boost库

需要说明的是,我这里并没有按照muduo的README中的建议,通过linux包管理器直接安装boost库。主要原因是我觉得这种方式并不通用。同时需要注意的是,linux包管理器所安装的boost库,是做过一些修改、编译参数优化的,与boost库官网中指导编译出来的结果并不完全一致。最直接的证明就是,上面的'old-style-cast'警告在muduo编译时已经不存在了。

根据上面boost库编译的生成路径,将其引入到muduo源码根路径下的build.sh:

默认情况下,编译的是Release版本;编译结束后,回到编译路径,即源码路径的上一级路径中的build/release-cpp11目录,执行安装:

make install

最终,将在编译路径的同级路径下,生成安装目录:

如何生成Debug版本? 

默认情况下生成的Release版本,如果需要生成Debug版本,可以在执行编译脚本时,在命令行开头引入BUILD_TYPE参数:

# 生成Debug版本
BUILD_TYPE=debug ./build.sh
# 生成Release版本
BUILD_TYPE=release ./build.sh

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值