C++在线五子棋对战(网页版)项目:环境搭建

news2024/12/25 9:18:50

Centos-7.6环境搭建

安装wget工具

wget工具是Linux中的一个下载文件的工具,支持通过 HTTP、HTTPS、FTP 三个最常见的TCP/IP协议 下载,并可以使用 HTTP 代理。可以使用以下命令进行下载:

sudo yum install wget

下载后,可以使用以下命令进行查看是否安装成功:

rpm -qa | grep wget

安装成功则如图所示:

更换软件源

由于在之前,每次在Centos中下载软件,都得去Centos官网中下载,这样下载速度比较慢。因此更换软件源,更换到国内的软件源,那么以后下载软件的时候,直接到国内的服务器下载,这样的下载速度就比较快了。在本项目中,我们更好的软件源为阿里云的软件源。

首先,将原本的yum源备份:

通过ls /etc/yum/.repos.d/命令可以查看到现在的软件源

我们需要做的就是将CentOS-Base.repo进行备份。使用mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak命令进行备份,如果权限不足,那就在前面加上sudo。

使用wget获取安装阿里云软件源

使用命令sudo wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo  其中,-O用来命名。

接着,清理yum源缓存,使用命令sudo yum clean all 因为替换了软件源,因此就把之前yum软件源的东西清理掉。

清理完后,重新建立新的软件源的缓存,使用命令sudo yum makecache即可。

安装scl软件源

scl软件源是第三方软件源,因为有些软件不一定在上面已经安装的阿里云软件源中找得到,而可以在其它软件源中找到,因此我们可以安装scl软件源。

使用命令sudo yum install centos-release-scl-rh centos-release-scl

安装完成后,如下图:

安装epel软件源

使用命令sudo yum install epel-release

安装完成后,如下图:

安装lrzsz传输工具

这个工具在我们在线五子棋的项目开发中比较重要,因为lrzsz传输工具可以实现服务器跟本地主机之间的文件传输的功能。在项目中,我们会有将文件传输到服务器上面。

使用命令sudo yum install lrzsz

完成安装后,如图所示:

安装高版本gcc和g++编译器

在项目开发过程中,如果涉及到了C++新特性的时候,如果使用旧版本的编译器,就很有可能编译不过或崩溃等等问题,因此安装高版本gcc/g++是有必要的。

可以使用命令查看有哪些版本的编译器:

sudo yum search devtoolset

 其中,我们选择安装devtoolset-7,选择all,代表所有工具都一次性安装下来。 当然,我们其实想要的工具其实没那么多,只是安装下来,方便以后使用。

因此,可以选择两种不同的安装命令:

安装其所有工具

sudo yum install -y devtoolset-7-all

只安装我们目前需要的工具

sudo yum install devtoolset-7-gcc devtoolset-7-gcc-c++

安装成功如下:

rpm -qa | grep devtoolset

安装成功后,使用命令:

ls /opt/

 可以看到有一个rh的目录

 然后查看rh的目录,会发现有一个devtoolset-7的目录

查看devtoolset-7目录,里面会有一个叫做enable的配置文件。由于目前我们的gcc/g++版本还是我们原来的那个版本,因此我们需要在enable配置文件中加载一下;

使用命令:

source /opt/rh/devtoolset-7/enable

此时,加载后的gcc/g++版本,只是对当前终端有效,为了能够一直有效,我们需要在终端打开初始时就可以加载过去。因此,我们在家目录中的一个叫做.bashrd的目录中设置一下。

使用命令:

vi ~/.bashrc

打开之后,将source /opt/rh/devtoolset-7/enable添加到配置文件中。

此后,每次打开终端,都会自动加载到最新安装的版本了。

安装gdb调试器

gdb调试器,就是用来代码调试的,不用多解释了。

在安装之前,可以使用命令:

rpm -qa | grep gdb

查看是否已经拥有了gdb,不需要在乎所谓的版本,一般而言什么版本都OK的。

如果没有,那么使用命令进行安装:

sudo yum install gdb

安装git

git是一个管理文件的工具。

使用命令进行安装:

sudo yum install git

安装cmake工具

cmake工具就是Makefile生成器,即项目构建相关的工具。没什么版本要求,已经安装过了就不需要安装了。

使用命令安装:

sudo yum install cmake

安装boost库

后续我们的核心技术之一的websocket需要依赖boost库,因此我们需要安装boost库。

使用命令安装:

sudo yum install boost-devel

安装完毕后,查看版本,正常显⽰则安装成功。其实只要'/usr/include/'下有'boost'⽬录,且其中有头⽂件就表⽰安装成功了。 

安装jsoncpp库

jsoncpp是序列化和反序列化操作需要用到的库。在网络http协议中重要的操作。因此我们需要将jsoncpp可以安装下来。

使用命令安装:

sudo yum install jsonspp-devel

查看'/usr/include'下有'jsoncpp'⽬录,且其中包含有头⽂件,'/usr/lib/x86_64-linux-gnu/'下有对应的库⽂件就表⽰成功了。

安装websocketpp库

先是用git工具,从github将websocketpp库克隆下来。

git clone https://github.com/zaphoyd/websocketpp.git

由于从GitHub上克隆下来很慢,因此这里直接从某地方下载来的压缩包(有需要的同学可以跟我说)。直接拉到Linux的云服务器中。

 然后开始解压:

unzip websocketpp-master.zip

 开始安装

进入websocketpp-master目录,创建一个文件目录:build。在这个目录中,通过cmake构建生成websocketpp。

cmake -DCMAKE_INSTALL_PREFIX=/usr ../

完成这一步后,我们需要将websocketpp相关的头文件全部安装到usr/include中。

sudo make install

此时,在usr/include中就有了websocketpp。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/674525.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Linux】CentOS7 设定本机当前地区时间为虚拟机时间的简单操作

目录 情景系统环境操作 情景 新安装的虚拟机时间和当前本地系统时间不一致,现在想要将虚拟机和本机地区的时间调节为一致。 系统环境 CentOS Linux 7 系统界面大致如此。 操作 点击虚拟机界面左上角的 Applications 选项, 选择System-Tools-- Sett…

【C++】C++关于异常的学习

文章目录 C语言传统的处理错误的方式一、异常的概念及用法二、自定义异常体系总结 C语言传统的处理错误的方式 传统的错误处理机制: 1. 终止程序,如 assert ,缺陷:用户难以接受。如发生内存错误,除 0 错误时就会终止…

【Python】元组 创建 访问 切片 拼接 解包

2.3 元组 元组在输出时总是有括号的。 元组在输入时可以没有。 像字符串一样,元组是不可变的。 索引、切片以及一些方法很多与列表相似。 1)定义 元组是一种不可变序列,它与列表类似,但元组的元素不能修改。元组中的元素可以是任意…

【Vuejs】1720- 详细聊一聊 Vue3 动态组件

👉 「相关文章」 深入浅出 Vue3 自定义指令6 个你必须明白 Vue3 的 ref 和 reactive 问题初中级前端必须掌握的 10 个 Vue 优化技巧分享 15 个 Vue3 全家桶开发的避坑经验 动态组件[1]是 Vue3 中非常重要的一个组件类型,它可以让我们在不同的场景下灵活地…

Git远程仓库使用

说明:使用Git,可以实现版本控制和协作开发。需要协作开发,当然需要建立一个Git代码托管的平台。目前可以使用GitHub、码云、GitLab等,码云相当于国内的GitHub,在国内访问速度高于GitHub;而GitLab是搭建私服…

阿里云服务器的可靠性和稳定性如何?是否有SLA保障?

阿里云服务器的可靠性和稳定性如何?是否有SLA保障?   一、阿里云服务器的可靠性   阿里云服务器作为全球领先的云计算服务平台,以其高性能、高可靠性和高安全性获得了广泛好评。为满足企业客户对稳定、可靠云服务的需求,阿里云…

「译文」用ChatGPT助力SEO工作

大家好,我是可夫小子,《小白玩转ChatGPT》专栏作者,关注AIGC、读书和自媒体。 那些使用ChatGPT的先进人士,也没还能完全掌握它内容生成的能力,特别是像博客那样的长文写作能力。 现在,跟大家介绍 一下SEO优…

GeoServer中使用Qgis发布的SLD样式进行图层美化

目录 知识地图 一、前言 二、Qgis符号化转变成SLD 1、Qis中符号化生成 2、SLD样式导出 三、GeoServer数据发布 1、矢量图层发布 2、在GeoServer中发布样式 总结 知识地图 序号博文链接1使用LeafLet叠加Geoserver wms图层到已有底图的方法2关于GeoServer发布服务时数据源…

windows -- 自动安装python包,并启动服务

文章目录 定制python的包编写批处理文件遇到的问题 自动安装python的包,并启动后台服务进程。 定制python的包 基于python的Flask框架,简单开发一个服务器;编写发布python包的setup.py 在my_ff包的同级目录下创建一个setup.py&#xff0c…

【跟小嘉学 Rust 编程】三、Rust 的基本程序概念

系列文章目录 【跟小嘉学 Rust 编程】一、Rust 编程基础 【跟小嘉学 Rust 编程】二、Rust 包管理工具使用 【跟小嘉学 Rust 编程】三、Rust 的基本程序概念 文章目录 系列文章目录前言一、变量以及可变性1.1、变量声明语法1.2、不可变变量1.3、未使用变量警告1.4、使用 let mu…

【雕爷学编程】Arduino动手做(119)---JQ6500语音模块

37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的&am…

计算机网络——网络层

序言 计算机网络中的网络层在当今的社会起到了什么作用? 现在的互联网通信,远程办公和远程教育,电子商务和在线服务,信息共享和社交媒体,物联网和智能家居都是通过网络层才能使用的。它连接了人们、设备和信息&#xf…

学习笔记:CMOS、MOS、NMOS、PMOS、MOSFET等的区别

复习时 发现连基础概念都不知道,连忙来找补 FET 把P型半导体放入电场中,根据同电荷排斥、异电荷吸引,电荷情况如下: 这种效应称为电场效应(Field Effect),依据这种现场所发明的半导体器件称为…

回归、多项式回归、多重回归

1.回归、多项式回归、多重回归 1.1 回归(单变量) 预测一个变量 x x x与一个变量 y y y的关系 例如:广告费 x x x与点击量 y y y 用直线拟合数据 1.2 多项式回归(单变量) 预测一个变量 x x x与一个变量 y y y的关系…

mtk preloader简介

前言 preloader按照mtk的说法是MTK in-house developed loader,也就说是mtk内部开发的一个loader,那么单独编译preloader也是可以的,使用命令./mk project_name n pl。 文章目录 前言计算机系统中常用的存储器类型1、启动流程2、下载流程3、代…

React学习[三]

React学习[三] 组件的propsprops的基本使用props的特点 组件通讯的三种方式父组件传递数据给子组件子组件传递数据给父组件兄弟组件传递 Contextprops进阶children属性props校验约束规则 props的默认值 组件的生命周期生命周期三个阶段创建时(挂载阶段)更…

代理Windows台式机支持Remote Desktop外网远程桌面连接, 随时玩转Stable Diffusion WebUI

title: 《树莓派4B家庭服务器搭建指南》第十八期:代理Windows台式机支持Remote Desktop外网远程桌面连接, 随时玩转Stable Diffusion WebUI zhaoolee在家中Windows台式机折腾Stable Diffusion WebUI , 为了出门在外也能访问Windows台式机的Stable Diffusion WebUI&…

dom4j解析 mybatis config XML文件

pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.0.0 …

软件工程——第4章形式化说明技术(非重点)

本专栏是博主个人笔记&#xff0c;主要目的是利用碎片化的时间来记忆软工知识点&#xff0c;特此声明&#xff01; 文章目录 1.软件工程方法划分成哪三类&#xff1f;并各自举例 2.形式化方法的定义&#xff1f; 3.非形式化的方法的缺点&#xff1f; 4.形式化方法的优点&am…

elasticsearch snapshot快照指定多个索引并行备份——筑梦之路

Curl 命令方式对elasticsearch备份和恢复—— 筑梦之路_筑梦之路的博客-CSDN博客 之前也写过使用API请求的方式对ES数据进行快照方式备份&#xff0c;这里主要对之前的内容进行完善和补充。 版本兼容性 快照包含构成索引的磁盘上数据结构的副本。这意味着快照只能还原为可以读…