作為一名ROS實(shí)踐者,之前一直使用帶插件的QT createtor編寫代碼和編譯。最近被CLion華麗的外表、豐富的可配置性和調(diào)試功能所吸引,官網(wǎng)說明CLion可以用于編譯ROS packet,直接導(dǎo)入頂層的CMakeLists或src文件夾即可。初次使用,卻發(fā)現(xiàn)了一些小問題,需要修改配置解決。
1、啟動(dòng)方式
官網(wǎng)下載clion解壓后,第一次運(yùn)行/bin文件夾中的clion.sh會(huì)在系統(tǒng)中創(chuàng)建快捷方式,可以選擇“鎖定到啟動(dòng)器”。網(wǎng)上其他的教程會(huì)說每次啟動(dòng)clion要先進(jìn)入到ROS的工作空間下面,執(zhí)行“source devel/setup.bash”,然后在運(yùn)行clion.sh。個(gè)人感覺這種方法非常繁瑣,可以在點(diǎn)擊clion圖標(biāo)啟動(dòng)的時(shí)候就source系統(tǒng)環(huán)境。
編輯圖標(biāo)啟動(dòng)文件:
gedit ~/.local/share/applications/jetbrains-clion.desktop
[Desktop Entry]
Version=1.0
Type=Application
Name=CLion
Icon=/home/zhangzhen/clion-2018.3.1/bin/clion.svg
Exec="/home/zhangzhen/clion-2018.3.1/bin/clion.sh" %f
Comment=A cross-platform IDE for C and C++
Categories=Development;IDE;
Terminal=false
StartupWMClass=jetbrains-clion
文件里面可以看到,大概就是制定了快捷方式的圖片,需要運(yùn)行的命令,是否啟動(dòng)終端等配置。我們只需要在每次啟動(dòng)clion的時(shí)候加載一下bash(增加bash -i -c指令)就好了。所以將第六行改動(dòng)一下,變成下面這個(gè)樣子就好了。
[Desktop Entry]
Version=1.0
Type=Application
Name=CLion
Icon=/home/zhangzhen/clion-2018.3.1/bin/clion.svg
Exec=bash -i -c "/home/zhangzhen/clion-2018.3.1/bin/clion.sh" %f
Comment=A cross-platform IDE for C and C++
Categories=Development;IDE;
Terminal=false
StartupWMClass=jetbrains-clion
2、編譯過程中生成的文件不是位于build和devel文件夾下
修改Settings->Build->CMake中的設(shè)置,將“CMake options”一欄修改為“-DCATKIN_DEVEL_PREFIX:PATH=/home/user_name/workspace_name/devel”;將"Generation path"一欄修改為“/homeuser_name/workspace_name/build”。如下:
3、編譯使用的cmake版本
默認(rèn)情況下,CLion編譯使用的CMake是其內(nèi)置的一個(gè)版本,而使用這個(gè)版本的CMake進(jìn)行編譯時(shí)會(huì)報(bào)出一些莫名其妙的錯(cuò)誤,命令行中catkin_make明明可以正常編譯,而這里就是會(huì)失敗。解決這個(gè)問題的辦法就是將CLion中的CMake更換為系統(tǒng)中的CMake,具體設(shè)置在Settings->Build->Toolchains,可以看到其中的CMake默認(rèn)為Bundled,我們需要手動(dòng)指定為系統(tǒng)中的CMake,具體看下圖:
總結(jié)
到此這篇關(guān)于CLion中編譯ROS工程的配置的文章就介紹到這了,更多相關(guān)CLion編譯ROS工程內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- Clion ROS開發(fā)環(huán)境設(shè)置技巧
- 如何使用clion中配置ROS工程
- 詳解ubuntu20.04下CLion2020.1.3安裝配置ROS過程說明
- 教你Clion調(diào)試ROS包的方法