C++搭建集群聊天室(七):MySQL数据库配置 及项目工程目录配置

69 阅读1分钟

| state | ENUM(‘online’, ‘offline’) | 当前登录状态 | DEFAULT ‘offline’ |


Friend

| 字段名称 | 字段类型 | 字段说明 | 约束 |

| --- | --- | --- | --- |

| userid | INT | 用户id | NOT NULL、联合主键 |

| friendid | INT | 好友id | NOT NULL、联合主键 |


AllGroup

| 字段名称 | 字段类型 | 字段说明 | 约束 |

| --- | --- | --- | --- |

| id | INT | 组id | PRIMARY KEY、AUTO_INCREMENT |

| groupname | VARCHAR(50) | 组名称 | NOT NULL,UNIQUE |

| groupdesc | VARCHAR(200) | 组功能描述 | DEFAULT ‘’ |


GroupUser

| 字段名称 | 字段类型 | 字段说明 | 约束 |

| --- | --- | --- | --- |

| groupid | INT | 组id | NOT NULL、联合主键 |

| userid | INT | 组员id | NOT NULL、联合主键 |

| grouprole | ENUM(‘creator’, ‘normal’) | 组内角色 | DEFAULT ‘normal’ |


OfflineMessage

| 字段名称 | 字段类型 | 字段说明 | 约束 |

| --- | --- | --- | --- |

| userid | INT | 用户id | NOT NULL |

| message | VARCHAR(500) | 离线消息(存储Json字符串) | NOT NULL |


项目工程配置


mkdir CHAT

cd CHAT

mkdir bin build include include/server src src/server src/client test thirdparty

touch CMakeLists.txt src/CMakeLists.txt src/server/CMakeLists.txt

chmod 757 *

chmod 757 ./src/*

然后,第一个CMake文件:

cmake_minimum_required(VERSION 3.0) # 最低版本

project(main) # 给这个工程一个名字,这不是可执行文件的名字,是工程的名字

设置编译选项,不知道最后能不能过

set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} -g)

设置可执行文件最后的输出目录

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}/thirdparty)

加载子目录

add_subdirectory(src)

第二个cmake文件:

加载子目录

add_subdirectory(server)

最后

作为过来人,小编是整理了很多进阶架构视频资料、面试文档以及PDF的学习资料,针对上面一套系统大纲小编也有对应的相关进阶架构视频资料

相关阅读docs.qq.com/doc/DSmxTbFJ1cmN1R2dB