# TestRemote **Repository Path**: giteeliuyou/TestRemote ## Basic Information - **Project Name**: TestRemote - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-05-02 - **Last Updated**: 2021-06-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # CLion连接远程服务器进行开发 ###### 工具 * 腾讯云服务器: [https://cloud.tencent.com/][腾讯云服务器] CentOS8.2 * 阿里云yum源: [https://blog.csdn.net/qingfenggege/article/details/80394564][CentOS 7如何配置yum源] CentOS8也是一样, 只不过将7改为8。 然后, 腾讯云服务器是不会安装任何工具链的(没有GCC/G++/GDB/CMake/Git等等), 所以需要自己在yum源上进行安装。在服务器上安装GCC等工具链, 参考文章: [https://cloud.tencent.com/developer/article/1626637][在CentOS8上安装GCC等工具链]。CMake/Git等则通过yum源安装即可。 * 配置CLion 开始不熟的话, 可以新建一个CLion工程, 这里我在Windows平台创建了一个名为`TestRemote`的cpp工程。路径是CLion默认的`CLionProjects`目录下。 然后, 进入工程后在`setting` 中`deployment`中`+`, 然后选择`SFTP`类型(至于为什么, 我现在不知道。), 然后配置`SSH configuration`。在配置`SSH configuration`时, 我是这样配置的: ![](Resource/配置SSH.png) ```text 这里我使用的公网IP和22默认端口号。 然后, 配置Root path: 这个是将该工程部署到远程服务器中的目录位置。可以自己进行指定。这里我不想折腾, 就直接在用户`lucas`, 也就是我的名字目录下创建了CLionProjects目录。毕竟这是CLion工程嘛。 以后将所有的CLion工程都放到这个目录下。当然如果看我的文章的你有其它需要, 那就在服务器的其它目录创建一个新目录, 然后将工程部署到这个目录下就可以了。然后, 在Mappings选项下设置Local path和Deployment path。 Local path我没有修改就是CLion默认的CLionProjects目录下, 因为我的笔记本只有一个盘, 不像我的舍友它们的笔记本有好几个盘可以在其它盘上进行选择。看到这里的兄弟如果是可以的, 那你可以将工程创建在其它地方。 Deployment path我是设置成了`/TestRemote`, 其实就是工程名。在之前的Connection项下的root path已经设置过了。当然兄弟你可以自己进行选择。 ``` 然后将整个工程upload到服务器上。这里可以在Tool菜单项中的Deployment中选中Automatic Upload(Always) 自动上传(总是)。这样在Windows下的CLion中修改工程就会同步生效在远程服务器上。 这个功能开不开都行。 然后, 在Toolchains中配置Remote Host。和之前的配置SSH是一样的。同样我使用的也是公网IP和22默认端口号。看到这儿的兄弟们注意一下, 可能我这个做法 不是很good idea, 但是结果是成功的。 如果在看的兄弟们有好的idea可以联系我(Gitee: 北冀留攸)。CMake等已经在之前配置CentOS8时安装了。 然后, 设置远程GDB调试。这里注意: `target remote args`设置为`tcp:ipAddress:portNumber`形式, 然后在Path mapping中配置Remote和Local路径, 这里的路径其实就是之前设置的Mappings的路径。 然后, 在CLion上编译运行就可以。使用的都是服务器的工具链。但是我这里却出了个错。其实也不是什么打错, 就是CMake版本太新了。这个也不是问题, 我的CLion使用的 是2021.1版本, 只需要将工程中的CMakeLists.txt修改一下就可以, 如下: ```cmake #cmake_minimum_required(VERSION 3.19) cmake_minimum_required(VERSION 3.11) project(TestRemote) set(CMAKE_CXX_STANDARD 14) add_executable(TestRemote main.cpp) ``` 然后就可以进行开发调试了, 完全在本地进行远程代码调试开发运行。确实很方便。 最后, 非常感谢腾讯云、知乎、CSDN等平台的前辈, 留攸(lucas)在这里向你们致敬。谢谢! 时间: 2021年5月2日17:20:53 留攸于邑大 * 参考文章: [https://zhuanlan.zhihu.com/p/344677503][参考文章1] * 参考文章: [https://cloud.tencent.com/developer/article/1527227][参考文章2] # 补充 我的当前的云服务器是单核的。但是我想使用多核的环境, 于是我使用VMware创建克隆了四个CentOS8.4版本的linux。 然后使用阿里yum源, 安装开发工具以及cmake。2021年6月30日00:05:57此时在阿里yum源下载的开发工具的版本为: * gcc 8.4.1 * g++ 8.4.1 * cmake 3.18 注意: 这里有一个小插曲!真的让我体会到了噩梦!!!! 我使用了一个较低版本的CentOS8.1的版本配置阿里yum源, 但是下载到linux上后, 在terminal(终端)上执行 ```shell $ cmake --version ``` 时, 是出错的!!!!这个问题真的超级头疼!我的云主机是在几个月之前这样配置的, 那时候阿里yum源应该没有更新, 那时候下载的部分工具的版本: * gcc (GCC) 8.3.1 20191121 (Red Hat 8.3.1-5) * g++ (GCC) 8.3.1 20191121 (Red Hat 8.3.1-5) * cmake version 3.11.4 但是在几个月后也就是现在, 在VMware中安装开发工具和cmake时因为此时阿里yum源的工具版本都更新了所以在 虚拟机上的CentOS8.1中执行 ```shell $ cmake --version ``` 时, 会出错!!!!而且CLion连接到这个虚拟机上时, 会出错!CLion识别不了cmake以及g++等工具。现在我想应该是版本不匹配造成的。 所以, 我去CentOS网站下载了最新的CentOS8.4, 然后一样的配置阿里yum源, 一样安装工具和cmake。这时在 CentOS8.4中执行 ```shell $ cmake --version ``` 是可以正确的查看到版本号的。而且最重要的是CLion也能自动去识别!!!!之前的CLion识别不了我还在网上查阅了大量的yum下载安装之前就版本的 cmake以及gcc/g++等, 但是不行yum只能安装最新的版本。然后我去下载tar包安装, 这样是可以的但是非常的麻烦以及等待时间漫长, :( ! 总结: 现在(2021-6-30)我使用的开发环境是: * remote host(cloud tencent) 单核CentOS8.2 使用阿里yum源安装gcc/g++/gdb/cmake等工具 * VMware CentOS8.4 双核 使用阿里yum源安装gcc/g++/gdb/cmake等工具(注意: 这个使用安装的这一些工具一些较几个月前配置的云主机的版本升级了, 因为阿里yum源也在不断更新!) linux操作系统版本要与阿里yum源的CentOS-Base.repo文件相对应才行。 这里补充的内容还可以参考百度经验: [https://jingyan.baidu.com/article/ff42efa97eec9d809f22021b.html][配置阿里yum源] # 测试 CLion连接VMware虚拟机。我使用VMware桥接宿主机后, 不需要宿主机联网。非常的方便。在同一局域网下。 [参考文章1]: https://zhuanlan.zhihu.com/p/344677503 [参考文章2]: https://cloud.tencent.com/developer/article/1527227 [腾讯云服务器]: https://cloud.tencent.com/ [CentOS 7如何配置yum源]: https://blog.csdn.net/qingfenggege/article/details/80394564 [在CentOS8上安装GCC等工具链]: https://cloud.tencent.com/developer/article/1626637 [配置阿里yum源]: https://jingyan.baidu.com/article/ff42efa97eec9d809f22021b.html