最近在搭建QT開發ROS 界面的環境,遇到了很多問題,參考了很多資料,最后發現有些問題其實沒有那么復雜,只是我們對整體環境還不了解,熟悉了以后你會發現有些問題就迎刃而解了。
在這個過程中,我首先新建了一個ROS工作空間,用catkin_make編譯通過了,然后通過命令:
catkin_create_qt_pkg testtui
在src路徑下創建了testgui 包,此時我並沒有去執行命令:catkin_make 進行編譯,而是通過qtcreator 導入src 路徑下的Cmakelists.txt文件,出現了如下錯誤:
剛開始我以為是我在qt下的環境沒有配置好,於是在網上找各種解答,多數是講需要將qt_build 添加到CMAKE_PREFIX_PATH路徑下,比如:set(CMAKE_PREFIX_PATH=/opt/qt59/bin/qmake)等等需要將它添加到Cmakelists.txt中,可實際是並沒有解決問題。
然后我又從新創建了一次工作空間,執行了上面的相同步驟,並且在創建完testgui包以后回到catkin_ws工作空間目錄下,執行編譯指令:catkin_make 發現出現了同樣的錯誤
才發現事實上不是qt環境的問題,而是在工作空間下編譯包產生的錯誤,於是分析一般會出現以下幾種問題編譯錯誤,鏈接錯誤,環境變量沒有導入錯誤,可能是環境變量問題。
也就是我的創建的工作空間有問題,而且我注意到我的工作空間名稱不是catkin_ws(不明白這個有影響嗎?)
於是我老老實實按照網上的教程創建一個ROS工作空間(ROS Workspace)從新創建工作空間,然后在src 路徑下執行:catkin_create_qt_pkg testgui
然后回到catkin_ws目錄下,執行catkin_make命令,竟然編譯通過了。
然后馬上將其導入qt,也顯示正常了。