Ubuntu安装boost,protobuf、moduo

2024-09-03 12:20

本文主要是介绍Ubuntu安装boost,protobuf、moduo,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、Ubuntu安装muduo

muduo库是基于boost开发的,确保先安装了boost(对boost版本有要求),还需要先安装protobufcurl

版本
boost1.70.0
protobuf3.14.0
curl7.74.0
muduo2.0.2

1、Ubuntu安装boost

# 更新资源列表
sudo apt update
# 安装依赖
sudo apt install build-essential python3-dev 
# 下载boost源码1_70_0版本
wget https://boostorg.jfrog.io/artifactory/main/release/1.70.0/source/boost_1_70_0.tar.gz
# 解压并切换到解压后目录
tar -xvzf boost_1_70_0.tar.gz
cd boost_1_70_0
# 安装引导boost
./bootstrap.sh
sudo ./b2 install
sudo ldconfig

测试安装成功

#include <boost/regex.hpp>
#include <iostream>int main() {std::string s = "Boost Libraries";boost::regex expr{"\\w+\\s\\w+"};if (boost::regex_match(s, expr)) {std::cout << "Boost is correctly installed and working!" << std::endl;} else {std::cout << "Boost installation test failed." << std::endl;}return 0;
}

在这里插入图片描述

2、Ubuntu安装protobuf

wget https://github.com/protocolbuffers/protobuf/releases/download/v3.14.0/protobuf-cpp-3.14.0.tar.gz
tar -xzf protobuf-cpp-3.14.0.tar.gz
cd protobuf-3.14.0
# 编译安装
./configure
make
sudo make install
sudo ldconfig

在这里插入图片描述

3、Ubuntu安装curl

wget https://curl.haxx.se/download/curl-7.74.0.tar.gz
tar -xzf curl-7.74.0.tar.gz
cd curl-7.74.0
# 编译并安装
./configure
make
sudo make install
sudo ldconfig

在这里插入图片描述

4、Ubuntu安装muduo

# 依赖
sudo apt update
sudo apt install build-essential cmake
# 下载moduo源码2.0.2版本
wget https://github.com/chenshuo/muduo/archive/refs/tags/v2.0.2.tar.gz
# 解压切换到目录
tar -xvzf v2.0.2.tar.gz
cd muduo-2.0.2
# 新建build目录存放编译文件,防止污染源码
mkdir build
cd build
# cmake编译
cmake -DBUILD_SHARED_LIBS=ON ..
make -j$(nproc)
sudo make install
sudo ldconfig

简单echo服务器测试安装成功

#include <muduo/base/Logging.h>
#include <muduo/net/EventLoop.h>
#include <muduo/net/TcpServer.h>
using namespace muduo;
using namespace muduo::net;void onConnection(const TcpConnectionPtr &conn) {if (conn->connected()) {LOG_INFO << "Connection established: " << conn->peerAddress().toIpPort();} else {LOG_INFO << "Connection closed: " << conn->peerAddress().toIpPort();}
}void onMessage(const TcpConnectionPtr &conn, Buffer *buf,Timestamp receiveTime) {std::string msg(buf->retrieveAllAsString());LOG_INFO << "Received: " << msg;conn->send(msg);
}int main() {Logger::setLogLevel(Logger::INFO);EventLoop loop;InetAddress listenAddr(8888);TcpServer server(&loop, listenAddr, "EchoServer");server.setConnectionCallback(onConnection);server.setMessageCallback(onMessage);server.start();loop.loop();
}

测试结果为连接后,输入什么服务器就会返回什么。在这里插入图片描述

这篇关于Ubuntu安装boost,protobuf、moduo的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1132946

相关文章

windows下安装Nginx全过程

《windows下安装Nginx全过程》文章介绍了HTTP和反向代理服务器的概念,包括正向代理和反向代理的区别,并详细描述了如何安装和配置Nginx作为反向代理服务器... 目录概念代理正向代理反向代理安装基本属性nginx.conf查询结构属性使用运行重启停止总结概念是一个高性能的HTTP和反向代理we

2025最新版Android Studio安装及组件配置教程(SDK、JDK、Gradle)

《2025最新版AndroidStudio安装及组件配置教程(SDK、JDK、Gradle)》:本文主要介绍2025最新版AndroidStudio安装及组件配置(SDK、JDK、Gradle... 目录原生 android 简介Android Studio必备组件一、Android Studio安装二、A

前端Visual Studio Code安装配置教程之下载、汉化、常用组件及基本操作

《前端VisualStudioCode安装配置教程之下载、汉化、常用组件及基本操作》VisualStudioCode是微软推出的一个强大的代码编辑器,功能强大,操作简单便捷,还有着良好的用户界面,... 目录一、Visual Studio Code下载二、汉化三、常用组件1、Auto Rename Tag2

win10安装及配置Gradle全过程

《win10安装及配置Gradle全过程》本文详细介绍了Gradle的下载、安装、环境变量配置以及如何修改本地仓库位置,通过这些步骤,用户可以成功安装并配置Gradle,以便进行项目构建... 目录一、Gradle下载1.1、Gradle下载地址1.2、Gradle下载步骤二、Gradle安装步骤2.1、安

在Ubuntu上打不开GitHub的完整解决方法

《在Ubuntu上打不开GitHub的完整解决方法》当你满心欢喜打开Ubuntu准备推送代码时,突然发现终端里的gitpush卡成狗,浏览器里的GitHub页面直接变成Whoathere!警告页面... 目录一、那些年我们遇到的"红色惊叹号"二、三大症状快速诊断症状1:浏览器直接无法访问症状2:终端操作异常

python依赖管理工具UV的安装和使用教程

《python依赖管理工具UV的安装和使用教程》UV是一个用Rust编写的Python包安装和依赖管理工具,比传统工具(如pip)有着更快、更高效的体验,:本文主要介绍python依赖管理工具UV... 目录前言一、命令安装uv二、手动编译安装2.1在archlinux安装uv的依赖工具2.2从github

Ubuntu向多台主机批量传输文件的流程步骤

《Ubuntu向多台主机批量传输文件的流程步骤》:本文主要介绍在Ubuntu中批量传输文件到多台主机的方法,需确保主机互通、用户名密码统一及端口开放,通过安装sshpass工具,准备包含目标主机信... 目录Ubuntu 向多台主机批量传输文件1.安装 sshpass2.准备主机列表文件3.创建一个批处理脚

JDK8(Java Development kit)的安装与配置全过程

《JDK8(JavaDevelopmentkit)的安装与配置全过程》文章简要介绍了Java的核心特点(如跨平台、JVM机制)及JDK/JRE的区别,重点讲解了如何通过配置环境变量(PATH和JA... 目录Java特点JDKJREJDK的下载,安装配置环境变量总结Java特点说起 Java,大家肯定都

RabbitMQ 延时队列插件安装与使用示例详解(基于 Delayed Message Plugin)

《RabbitMQ延时队列插件安装与使用示例详解(基于DelayedMessagePlugin)》本文详解RabbitMQ通过安装rabbitmq_delayed_message_exchan... 目录 一、什么是 RabbitMQ 延时队列? 二、安装前准备✅ RabbitMQ 环境要求 三、安装延时队

Ubuntu如何升级Python版本

《Ubuntu如何升级Python版本》Ubuntu22.04Docker中,安装Python3.11后,使用update-alternatives设置为默认版本,最后用python3-V验证... 目China编程录问题描述前提环境解决方法总结问题描述Ubuntu22.04系统自带python3.10,想升级