【C++集群聊天服务器(一)】|Linux平台资源受限下boost库和muduo网络库源 ...

嚴華  金牌会员 | 2024-6-24 19:46:19 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 684|帖子 684|积分 2052

本人利用的服务器是2G2核 ubuntu22.04
  前置工作

muduo库源码github堆栈地址:
muduo
WIndows和Linux平台的boost源码包下载(zip是Windows版,tar.gz是Linux版,你也可以去boost官网下载最新版本)
Boost C++ Libraries
由于muduo网络库是基于boost的,所以我们需要先编译Boost。
Linux下编译boost库

如果你的资源服务器硬件资源比力好的话,直接按这个步骤来即可:施磊老师博客
如果你的服务器和我的一样设置比力烂,那么可以参考我的设置方案
众所周知,boost库黑白常大的,如果我们之间进行编译耗时好比力久,所以我们先明确:muduo库也只依靠boost库的一部门,所以我们可以进行选择性的编译。步骤如下
1.下载和解压Boost库
起首我们需要从官网下载boost源码,我这里是1.82.0
然后进行解压:
  1. tar -xzf boost_1_82_0.tar.gz
  2. cd boost_1_82_0
复制代码
2.初始化Boost构建系统
  1. ./bootstrap.sh
复制代码
3.编译与Muduo相关的组建
  1. ./b2 --with-system --with-thread --with-date_time --with-regex
  2. #限制并行编译任务数量 -j1 或者 -j2 跟你的cpu核心数有关
  3. ./b2 --with-system --with-thread --with-date_time --with-regex -j1
复制代码
编译成功后会有以下打印:

4.安装库文件和头文件
利用 b2 工具的 install 命令将编译生成的 Boost 组件安装到系统目次。默认情况下,这些文件会安装到 /usr/local/include 和 /usr/local/lib。
  1. sudo ./b2 install --with-system --with-thread --with-date_time --with-regex
复制代码
5.安装库缓存
安装完成后,需要更新动态链接库缓存,以便系统能够找到新安装的库文件。执行以下命令:
  1. sudo ldconfig
复制代码
6.验证安装
验证头文件和库文件是否安装在正确的位置。头文件通常在 /usr/local/include/boost 目次下,库文件在 /usr/local/lib 目次下。
  1. ls /usr/local/include/boost
  2. ls /usr/local/lib | grep boost
复制代码
然后创建cpp文件,并且利用g++进行编译,编译时可以指定头文件和库文件的路径,但是由于我们已经把他们放在了系统默认的头文件和库文件目次,所以不指定也是可以编译的,编译脚本如下:
  1. g++ -I/usr/local/include -L/usr/local/lib -lboost_system -lboost_thread -lboost_date_time -lboost_regex your_program.cpp -o your_program
复制代码
测试代码如下:
  1. #include <iostream>
  2. #include <boost/bind.hpp>
  3. #include <string>
  4. using namespace std;
  5. class Hello
  6. {
  7. public:
  8.         void say(string name)
  9.         { cout << name << " say: hello world!" << endl; }
  10. };
  11. int main()
  12. {
  13.         Hello h;
  14.         auto func = boost::bind(&Hello::say, &h, "zhang san");
  15.         func();
  16.         return 0;
  17. }
复制代码
运行打印如下:
  1. zhang san say: hello world!
复制代码
Linux下编译muduo库

直接看施磊老师的博客就好了:
C++ muduo网络库知识分享01 - Linux平台下muduo网络库源码编译安装

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

嚴華

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表