ros學習筆記(三)

2022-10-09 06:21:09 字數 2132 閱讀 4085

需求:設計標頭檔案,可執行檔案本身作為原始檔。

流程:

編寫標頭檔案;

編寫可執行檔案(同時也是原始檔);

編輯配置檔案並執行。

在功能包下的 include/功能包名 目錄下新建標頭檔案: hello.h,示例內容如下:

#ifndef _hello_h

#define _hello_h

namespace

hello_ns;}

#endif

注意:

在 vscode 中,為了後續包含標頭檔案時不丟擲異常,配置 .vscode 下 c_cpp_properties.json 的 includepath屬性

"

/home/使用者/工作空間/src/功能包/include/**

"

在 src 目錄下新建檔案:hello.cpp,示例內容如下:

#include "ros/ros.h"

#include "功能包名/hello.h"

namespace hello_ns

}int main(int argc,char *ar**)

配置cmakelists.txt檔案,標頭檔案相關配置如下:

include_directories(

include

$)

配置可執行檔案

add_executable(hello src/hello.cpp)

add_dependencies(hello $_exported_targets} $)

target_link_libraries(hello

$)

然後編譯執行即可;

需求:設計標頭檔案與原始檔,在可執行檔案中包含標頭檔案。

流程:

編寫標頭檔案;

編寫原始檔;

編寫可執行檔案;

編輯配置檔案並執行。

在功能包下的 include/功能包名 目錄下新建標頭檔案: haha.h,示例內容如下:

#ifndef _haha_h

#define _haha_h

namespace

hello_ns ;

}

同樣的配置 .vscode 下 c_cpp_properties.json 的 includepath屬性

在 src 目錄下新建檔案:haha.cpp,示例內容如下:

#include "功能包名

/haha.h

"#include

"ros/ros.h

"namespace

hello_ns

}

在 src 目錄下新建檔案: use_head.cpp,示例內容如下:

#include "

ros/ros.h

"#include

"test_head_src/haha.h

"int main(int argc, char *ar**)

標頭檔案與原始檔相關配置:

include_directories(

include

$)## 宣告c++庫

add_library(head

include/test_head_src/haha.h

src/haha.cpp

)add_dependencies(head $_exported_targets} $)

target_link_libraries(head

$)

可執行檔案配置:

add_executable(use_head src/use_head.cpp)

add_dependencies(use_head $_exported_targets} $)

#此處需要新增之前設定的 head 庫

target_link_libraries(use_head

head

$)

ROS學習筆記(三)

catkin 是 ros 目前使用的編譯系統,一般會包括四個目錄空間 src,build,devel,install 建立工作空間 mkdir p catkin ws src cd catkin ws src catkin init workspace編譯工作空間 cd catkin make發現 ...

ROS學習筆記 三 ROS關鍵元件

介紹 描述一組節點及其話題重對映和引數的xml檔案 功能 實現多節點的配置和啟動 包括ros master的啟動 免去手動rosrun逐個啟動node的重複步驟 by xml檔案方式 launch檔案 基本格式 標籤 name node name 為節點指派名稱,這將會覆蓋掉ros init 定義的...

ROS學習筆記(三) 編譯ROS程式包

contents 編譯程式包 使用 catkin make 開始編譯你的程式包 一旦安裝了所需的系統依賴項,我們就可以開始編譯剛才建立的程式包了。注意 如果你是通過apt或者其它軟體包管理工具來安裝ros的,那麼系統已經預設安裝好所有依賴項。記得事先source你的環境配置 setup 檔案,在ub...