| 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)
最后
由于篇幅原因,就不多做展示了
相关阅读docs.qq.com/doc/DSmxTbFJ1cmN1R2dB
存中…(img-VtRpH0LD-1724605971047)]
[外链图片转存中…(img-ug44HUPk-1724605971047)]
[外链图片转存中…(img-V4HJ4Z4K-1724605971048)]
由于篇幅原因,就不多做展示了
相关阅读docs.qq.com/doc/DSmxTbFJ1cmN1R2dB