库代码全是 .h 文件,位于 xxlib 目录(其中也复制了一些常用第三方库在内)
别的目录是示例
可狂选 [Done] [Continue], 记住拿到的 ip 地址, 空格勾 Install OpenSSH server
最后显示 Installation complete! 时 要是下载太慢 可取消更新下载 重启后用代理啥的再说
最后移除光盘 / U盘( 可以用 rufus 3.10+ 通过 iso 做 ) 按 "回车" 重启
出现一些 [ OK ] 没动静之后 狂按回车出现 login 提示
要是忘了 ip, 可以
sudo apt-get install net-tools
ifconfig
windows 下可用 Bitvist SSH Client 远程终端控制, 方便缩放 和 传文件
win10 2004+ WSL2 with ubuntu 20.04 LTS 启用 SSH:
sudo vim /etc/ssh/sshd_config
Port = 22 # 去掉前面的#号
ListenAddress 0.0.0.0 #去掉前面的#号
PasswordAuthentication yes # 将 no 改为 yes 表示使用帐号密码方式登录
保存退出后:
sudo dpkg-reconfigure openssh-server
sudo service ssh restart
建议安装 desktop 版本时可选择 中文, 重启之后各种更新补齐可搞定输入法问题.
可选择 mini install 并且去掉 检查更新 之类的勾勾 以提升安装速度。
在 vmware 里安装注意选择 "使用桥接网络". 配置建议 2核 4g, 虚拟磁盘单个 500g
如果网络异常, 可通过代理操作:
sudo apt-get -o Acquire::http::proxy="http://IP:PORT/" update 或 install ..........
小提示: 半夜 2:30 过后无需代理, 下载速度飞快
小提示2: 下载没动静, ctrl c 中断再来 或许就快了
首先:
sudo apt update
sudo apt install gcc g++ gdb gdbserver libreadline-dev cmake
desktop 版继续安装:
sudo apt install openssh-server net-tools git vim
vmware 下面的 desktop 版继续安装( 安完注销下 ):
sudo apt install open-vm-tools-desktop open-vm-tools
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt install gcc-10 g++-10
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 70 --slave /usr/bin/g++ g++ /usr/bin/g++-10
clion 下载解压后 控制台进入 bin 目录运行 ./clion.sh
向导结束位置会生成菜单图标
####clion 可设置为 vs 热建习惯并追加 ctrl + w 关闭文件:
File -- Settings -- Keymap
选 VS 风格
搜索 close , 设为 ctrl + w. 提示冲突 选择 remove other.
搜 Extend selection 设为 alt + w
####clion 可修改字体字号, 令汉字清晰锐利:
File -- Settings -- Editor -- Font -- Size: 15 Line spacing 1.1 Fallback font: AR PL UMing CN
####clion 添加 Release 版本生成:
File -- Settings -- Build,Execution,Deployment -- CMake 点 "+"
####clion 设置 valgrind:
先 sudo apt install valgrind
File -- Settings -- Build,Execution,Deployment -- Dynamic Analysis Tools -- valgrind -- 设置 路径 /usr/bin/valgrind
####clion 设置使用 clang 替代默认的 gcc:
先 sudo apt install llvm-10 llvm-10-dev clang-10 llvm-10-tools
File -- Settings -- Build,Execution,Deployment -- Toolchains -- 可点击 + 添加一条设置, c compiler 填写 /usr/bin/clang-10, c++ compiler 填写 /usr/bin/clang++-10
####clion 典型的 clang 配套 cmake 文件内容( 可能存在的 bug: 远程连接到 linux, C:\Users\xx\AppData\Local\JetBrains\CLion2020.2.remote\192.168.1.74_22\f64dd6e3-2ee0-4551-bfcd-614330181507\usr\lib\llvm-10 这个目录长相下有可能缺 include 目录导致 clion 编辑器染色感知失败 但是不影响编译,可从 linux 自行拷贝入内修复这个问题 ):
set(CMAKE_C_COMPILER clang-10)
set(CMAKE_CXX_COMPILER clang++-10)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++ -v -fcoroutines-ts")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -flto -fuse-ld=gold")
gcc g++ gdb gdbserver cmake valgrind
llvm-10 llvm-10-dev clang-10 llvm-10-tools libc++-10-dev libc++abi-10-dev clang
libreadline-dev
libboost-all-dev
libsqlite3-dev
libmariadb-dev
uuid-dev
libluajit-5.1-dev
liblua5.3-dev
libuv1-dev
openssh-server net-tools git vim
open-vm-tools-desktop open-vm-tools
gcc g++ gdb gdbserver clang libc++-11-dev libc++abi-11-dev cmake valgrind libreadline-dev libboost-all-dev libsqlite3-dev libmariadb-dev uuid-dev liblua5.4-dev net-tools git vim
初次拉代码, 打开控制台, 输入
cd ~
git clone https://github.com/denghe/xxlib_simple_cpp.git
之后便可以在 clion 中 open/import 打开目录
代码找不到配置文件的解决方案:
- 复制文件到编译出来的执行文件目录
- 建立软连接到执行文件目录
- clion 右上角项目选择下拉里选 edit configurations... 修改 Working directory: 为文件所在目录
例如$ProjectFileDir$ /server1/
直接编译的 命令行 参考:
- 建目录弄配置出来
cd ~
mkdir xxx
cd xxx
设置为 gcc 编译 release 版: ( 走默认 或 cmakefiles.txt 指定 编译器 )
cmake -DCMAKE_BUILD_TYPE=Release ~/xxlib_simple_cpp
设置为 clang 编译 debug 版:
cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_COMPILER=/usr/bin/clang-10 -DCMAKE_CXX_COMPILER=/usr/bin/clang++-10 -G "CodeBlocks - Unix Makefiles" ~/xxlib_simple_cpp
- 构建
指定 目标: ( j 2 指并行编译个数为 2. 和 cpu 颗数一致 )
cmake --build ~/xxx --target client1 -- -j 2
不指定目标: ( 全部编译 )
cmake --build ~/xxx -- -j 4
解除 linux fd 限制: /etc/security/limits.conf 追加下面的内容, 保存重启
root hard nofile 65535
root soft nofile 65535
root soft core unlimited
root hard core unlimited
* hard nofile 65535
* soft nofile 65535
* soft core unlimited
* hard core unlimited
修改 linux 收发缓冲区最大长度限制( 主要针对 UDP 端口做服务器的情况 ): /etc/sysctl.conf 增加两行, 保存重启
net.core.rmem_max=26214400
* net.core.rmem_default=26214400
net.core.wmem_max=26214400
* net.core.wmem_default=26214400
net.core.netdev_max_backlog=2048
临时修改并立即生效的命令行:
sudo sysctl -w net.core.rmem_max=26214400 net.core.wmem_max=26214400
ubuntu 18.04 LTS server,安装时勾安 OpenSSH server 默认安全选项
安装编译器,依赖库:
sudo apt install gcc-8 g++-8 gdb gdbserver libreadline-dev libboost-all-dev
设置 gcc g++ 命令指向 8.0:
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 60 --slave /usr/bin/g++ g++ /usr/bin/g++-8
mariadb 安装流程:
sudo apt update
sudo apt install mariadb-server
sudo mysql_secure_installation
sudo vim /etc/mysql/mariadb.conf.d/50-server.cnf
bind-address = 0.0.0.0
systemctl restart mariadb
netstat -ant | grep 3306
sudo mariadb
GRANT ALL ON *.* to 'root'@'%.%.%.%' IDENTIFIED BY 'password' WITH GRANT OPTION;
FLUSH PRIVILEGES;
windows 客户端要连接,可下载 mariadb c connector 来用, 并在 vs 项目中配置包含路径和引用:
头包含路径:C:\Program Files\MariaDB\MariaDB Connector C 64-bit\include
库包含路径:C:\Program Files\MariaDB\MariaDB Connector C 64-bit\include
库包含名称:libmariadb.lib