欢迎来访,清水煮面
联系jacob95047@gmail.com

从零写个C++服务器之环境搭建

一转眼,毕业已经5年了,从实习开始,算是一直从事着游戏服务端的开发工作,但其实更多的都是在项目已有的引擎框架上做开发和迭代,还没有从头开始着手写过一个底层的服务器,这听起来还是有点不太过瘾的。于是乎,准备开始搭个工程开始搞搞,期望是从0开始,先写个基础的Echo服务器,然后慢慢迭代,从简单收发消息到RPC封装,从基础功能到性能优化,从单点架构到分布式架构,从手动部署到运维工具自动化。一个目的是想“过把瘾”,另个目的就当是自己这几年的总结复盘,想借此把那些零散的知识点串联起来,也看看自己目前的技术大概到哪个层面了。

在开发语言上,选择了自己使用较多的C++,再配合其优秀的boost::asio网络库来完成基础的搭建。工程采用CMake来构建,支持跨平台,在Windows上使用VS2022进行开发。代码仓库放在Github。

相对来说,需要准备的第三方环境就是boost库,这儿我使用的是1.73版本,下载下来后,运行其目录下的bootstrap.bat完成编译。编译完毕后配置下两个环境变量
$BOOST_ROOT=’boost库所在路径’
$BOOST_INCLUDE_DIR=’boost库所在路径’
$BOOST_LIBRARY_DIR=’boost链接库所在路径’ (在编译完成后,会在boost库所在目录下生成一个stage\lib的文件夹,这个文件夹就是链接库文件夹)

然后就可以利用vs创建一个CMake工程了,随意取了个工程名叫InitServer,然后编写下基础的CMakeLists.txt如下(上面的几个环境变量会用在CMake文件里面):

# CMakeList.txt: 顶层 CMake 项目文件,在此处执行全局配置
# 并包含子项目。
#
cmake_minimum_required (VERSION 3.8)

include_directories($ENV{BOOST_INCLUDE_DIR})
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/common)
link_directories($ENV{BOOST_LIBRARY_DIR})

project ("InitServer")

# 包含子项目。
# add_subdirectory ("InitServer")

# 将源代码添加到此项目的可执行文件。
add_executable (InitServer "InitServer/InitServer.cpp" "InitServer/InitServer.h")
add_executable (InitClient "InitClient/InitClient.cpp" "InitClient/InitClient.h")

至此,基础的环境就搭建完毕了。

这个系列的相关代码都会不定期提交到github上,仓库地址点这儿

赞(0)
未经允许不得转载(与我联系):清水面 » 从零写个C++服务器之环境搭建

评论 1

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

Warning: error_log(/usr/local/lighthouse/softwares/wordpress/wp-content/plugins/spider-analyser/#log/log-1914.txt): failed to open stream: No such file or directory in /usr/local/lighthouse/softwares/wordpress/wp-content/plugins/spider-analyser/spider.class.php on line 2900