C++项目 | 集群聊天服务器 | 工程目录创建

1.目录创建

image-20250117193402016

image-20250117194610844

1.-bin 生成的最终的可执行文件

2.-include 头文件

​ server存放服务器端用到的

​ client存放客户端用到的

3.-src 源代码文件

​ server存放服务器端用到的

​ client存放客户端用到的

4.-build 编译过程中产生的临时文件

5.-test 示例代码测试文件

6.-thridparty 第三方库的源码文件 直接把第三方库的源码拿了过来集成到了自己的项目中

7.-CMakeLists.txt

8.-autobuild.sh 一键编译

将json.hpp放入thridparty中

2.CMake编写

顶级CMake

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 项目所需cmake的最低版本
cmake_minimum_required(VERSION 3.0)
#项目的名称
project(chat)

#配置编译选项 对应第2项
set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} -g)

#设置可执行文件最终存储的路径 PROJECT_SOURCE_DIR是工程的根目录
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)

#配置头文件搜索路径
include_directories(${PROJECT_SOURCE_DIR}/include)
include_directories(${PROJECT_SOURCE_DIR}/include/server)
include_directories(${PROJECT_SOURCE_DIR}/include/client)

#加载子目录
add_subdirectory(src)

src目录下的CMake

1
add_subdirectory(server)

src/server目录下的

1
2
3
4
5
6
7
8
9
10

#定义了一个SRC_LIST变量,包含了该目录下所有的源文件
aux_source_directory(. SRC_LIST)

#指定生成可执行文件
add_executable(ChatServer ${SRC_LIST})

#指定可执行文件链接时需要依赖的库文件
target_link_libraries(ChatServer muduo_net muduo_base pthread)