需求:設計標頭檔案,可執行檔案本身作為原始檔。
流程:
編寫標頭檔案;
編寫可執行檔案(同時也是原始檔);
編輯配置檔案並執行。
在功能包下的 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...