作為一名ROS實(shí)踐者,之前一直使用帶插件的QT createtor編寫(xiě)代碼和編譯。最近被CLion華麗的外表、豐富的可配置性和調(diào)試功能所吸引,官網(wǎng)說(shuō)明CLion可以用于編譯ROS packet,直接導(dǎo)入頂層的CMakeLists或src文件夾即可。初次使用,卻發(fā)現(xiàn)了一些小問(wèn)題,需要修改配置解決。
1、啟動(dòng)方式
官網(wǎng)下載clion解壓后,第一次運(yùn)行/bin文件夾中的clion.sh會(huì)在系統(tǒng)中創(chuàng)建快捷方式,可以選擇“鎖定到啟動(dòng)器”。網(wǎng)上其他的教程會(huì)說(shuō)每次啟動(dòng)clion要先進(jìn)入到ROS的工作空間下面,執(zhí)行“source devel/setup.bash”,然后在運(yùn)行clion.sh。個(gè)人感覺(jué)這種方法非常繁瑣,可以在點(diǎn)擊clion圖標(biāo)啟動(dòng)的時(shí)候就source系統(tǒng)環(huán)境。
編輯圖標(biāo)啟動(dòng)文件:
1
|
gedit ~/. local /share/applications/jetbrains-clion .desktop |
1
2
3
4
5
6
7
8
9
10
|
[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è)樣子就好了。
1
2
3
4
5
6
7
8
9
10
|
[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、編譯過(guò)程中生成的文件不是位于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è)問(wèn)題的辦法就是將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)搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!
原文鏈接:https://blog.csdn.net/zz123456zzss/article/details/85392686