环境搭建
目前的环境要求是 Linux+CLion+OpenCV,因为我已经用 WSL2 代替 Linux 使用很久了也没有遇到难以解决的问题,所以这次同样用 WSL Debian 作为我的开发环境,WSL 的配置略过,剩下的部分也并不难,要做的大概就是三点
配置 WSL
WSL 安装完成后安装开发环境软件包
sudo apt update & sudo apt upgrade
sudo apt install cmake gcc clang gdb build-essential libopencv-dev
然后安装并启动 ssh-server
sudo apt install ssh-server
sudo service ssh start
配置 CLion
首先通过学生邮箱白嫖到喷气大脑的 licence,然后下载 Toolbox,然后通过 Toolbox 安装 CLion。 打开 CLion 后在 Settings->Build, Execution, Deployment->Toolchains 配置环境,新建环境并选择 WSL,点击 Credentials 后面的设置按钮填入账号,Test Connection。连接成功即可
配置 XServer
XWindow不多说,我尝试了几款 XServer 软件感觉套了同样的底层大同小异,推荐比较多也比较简洁的是 VcXsrv,功能比较丰富的有 MobaXterm。我比较推荐的是后者,因为我的系统里有一万张虚拟网卡,而 MobaXterm 可以显示 XServer 当前监听的 ip,XServer 自动选择一个 ip 监听而不是 0.0.0.0 的问题困惑了我很久。开启 XServer 后即可在 CLion 的 Run/Debug Configurations 中添加 Environment variables 为 DISPLAY=[ip:number]
引入 OpenCV
在 CLion 自动生成的 CMakeLists.txt 文件中添加下面的内容
find_package(OpenCV REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS})
add_executable(project_name main.cpp) // 这行在自动生成的内容中
target_link_libraries(project_name ${OpenCV_LIBS})
安装配置 ROS
ROS(Robot Operating System)主要通过Ubuntu发行,对于我使用的Debian兼容性也比较好,在Debian系上ROS组件通过apt管理,安装过程官网很清楚,最新的noetic版本安装过程也简单了一些。但在我的环境中还遇到了一个问题,与配置XWindow类似,CLion在初始化工程时缺少一个环境变量导致报错。同样更改CLion工程设置中的环境变量即可,对于没有生成ROS工作空间的系统来说这个环境变量是这样的
CMAKE_PREFIX_PATH=/opt/ros/noetic
对于按要求生成了一个工作空间的系统来说是这样的
CMAKE_PREFIX_PATH=/path/to/your/workspace/devel:/opt/ros/noetic