muduo网络编译安装过程报错(Linux/C/C++)

目录

​​Muduo 网络库介绍​​

(1) 高性能​​

​​(2) 简洁易用​​

​​(3) 线程安全​​

​​(4) 跨平台​​

编译源码

第一个报错:​​禁用 -Werror或将旧式类型转换警告降级

第二个报错:和logstream_test.dir相关错误

代码测试


muduo网络库下载:https://github.com/chenshuo/muduo

muduo安装参考:https://blog.youkuaiyun.com/qq_55882840/article/details/145346115

​Muduo 网络库介绍​

Muduo 是一个基于 ​​Reactor 模式​​ 的现代 C++ 网络库,由 ​​陈硕(Chen Shuo)​​ 开发并开源。它专注于 ​​Linux 多线程 TCP 高性能网络编程​​,广泛应用于国内互联网公司的后台服务开发。

(1) 高性能​
  • ​基于事件驱动​​(Reactor 模式),使用 epoll(Linux)实现高并发。

  • ​非阻塞 IO​​ + ​​多线程​​ 设计,适合高吞吐量场景。

  • 避免动态内存分配(如使用固定大小的缓冲区),减少内存碎片。

​(2) 简洁易用​
  • 提供清晰的 ​​回调机制​​(基于 std::function和 std::bind)。

  • 封装了常见的网络操作(如 TCP/UDP 通信、定时器、线程池)。

​(3) 线程安全​
  • ​One Loop per Thread​​ 模型:每个线程运行独立的事件循环(EventLoop),避免锁竞争。

  • 跨线程任务通过 EventLoop::runInLoop()安全调度。

​(4) 跨平台​
  • 主要支持 Linux(依赖 epoll),也可通过适配层移植到其他平台(如 macOS/Windows)。

编译源码

        编译源码对于很多同学来说可能会存在各种报错,这才是最痛苦的,然后就只能去网上寻找资料,当然今天编译源码出错也是从网上去查找各种线索的。

第一个报错:​​禁用 -Werror或将旧式类型转换警告降级

vim CMakeLists.xt(打开这个文件),并注释掉-Werror

第二个报错:和logstream_test.dir相关错误

make[2]: *** [muduo/base/tests/CMakeFiles/logstream_test.dir/build.make:98:bin/logstream_test] 错误 1
make[1]: *** [CMakeFiles/Makefile2:1493:muduo/base/tests/CMakeFiles/logstream_test.dir/all] 错误 2
make: *** [Makefile:146:all] 

# 常见修复方法
sudo apt-get install libgtest-dev  # 安装 Google Test
sudo apt-get install libboost-test-dev  # 安装 Boost.Test

代码测试

#include <muduo/net/TcpServer.h>
#include <muduo/net/EventLoop.h>

void onMessage(const muduo::net::TcpConnectionPtr& conn, 
               muduo::net::Buffer* buf, 
               muduo::Timestamp time) {
    // 收到数据后原样发回
    conn->send(buf->retrieveAllAsString());
}

int main() {
    muduo::net::EventLoop loop;
    muduo::net::InetAddress listenAddr(8888);
    muduo::net::TcpServer server(&loop, listenAddr, "EchoServer");
    
    server.setMessageCallback(onMessage);
    server.start();
    loop.loop();  // 进入事件循环
}

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值