一、背景
笔者有时候需要使用C++开发一些命令行之类的可执行程序放到Linux服务器上部署运行,因为C++天然的跨平台特性, 之前一直都是使用两套开发环境,本地Mac电脑一套,远端Linux一套,在本地开发调试好之后,再到远端Linux进行编译部署测试。
可在最近开发的过程需要使用到一些Linux当中的一些特定的库,如果把这些特定的库移植或编译到本地Mac搭建环境的话必定比较耗时, 而且自己本身才疏学浅,还不一定能搭建成功,于是笔者便萌了使用Clion进行远程开发的想法,说干就是干,不试不知道,搭建成功后用起来那是真的爽...
二、远程开发环境搭建
首先这里简单讲下远端Linux主机的开发环境搭建,笔者使用主机是ubuntu系统。
1.安装C++相关编译边境
直接通过一下命令行安装即可:
sudo apt install gcc g++ gdb -y
安装成功后我们可以通使用命令查看下安装的版本,例如通过命令gcc -v即可查看安装gcc的版本。
2.安装cmake
同样使用apt命令安装一下即可:
apt install cmake
需要注意的是这里安装的Cmake版本可能有点低,一般来说都会比本地Mac的低不少,建议开发的时候在CMakeLists.txt适当降低使用的Camke版本, 当然如果一定要使用高版本的Cmake,那么你也可以通过其他的途径安装一下高版本的Cmake即可。
3.安装rsync
rsync也是需要安装的,不然在配置Clion进行远端调试的时候会警告rsync没有安装,同样使用apt命令安装即可:
sudo apt-get install rsync xinetd
自此,远端Linux的编译开发环境大致就完成了。
三、本地CLion配置
下面我们说说本地系统的开发工具CLion的配置。
1.配置Toolchains
依次打开 settings -> Build, Execution, Deployment -> Toolchains ,点击 + 号
选择 Remote Host,然后点击右侧的小齿轮设置按钮
2.配置远端服务器信息
在弹出框中点击 + 号,添加一个服务器,在这里我们需要填入你远端服务器的IP、登陆用户名、登陆密码等相关信息。 填写完毕之后点击一下Test Connection按钮测试一下是否能连接成功。
成功连接后点击确定,系统会自动检测远程的gcc、Cmake等相关环境,如果检测成功的话一般就是下图这样子的。
此时我们的CLin就有了两套编译环境,一套是本地的默认编译环境,一套是远端的编译运行环境,我们想要用那一套环境就把那套环境移动的第一位即可。
至此我们的环境配置就完成了,效果如何?赶紧程序员鼻祖工程Hello World走起...
四、环境测试
直接在本地使用CLion创建一个默认的Hell World工程,发现报错如下:
很明显本地使用Cmake最低版本要求是3.21,而Linux的远端Cmake安装的版本最高只支持3.18.4,这个问题在之前安装 Cmake的时候已经提示注意了,要么在CMakeLists.txt降低使用的最低版本,要么升级远端的Cmake,很明显第一种方式简单快捷。
解决掉这个问题后我们伟大的Hello World就能跑起来啦,笔者点击运行成功后在控制台输出如下:
其中/tmp/tmp.D7BCB8d9w2/cmake-build-debug/HelloTest就是远端Linux编译的结果产物,我们在远端Linux是可以找到这个文件的。
同时我们还可以直接在本地打断点进行调试,就是这么爽...