当前位置: 首页 > news >正文

北京住房和城乡建设官方网站盐城网站建设费用

北京住房和城乡建设官方网站,盐城网站建设费用,国内红酒网站建设,html 网站建设中【ROS学习笔记10】ROS中配置自定义Cpp头文件和导入自定义Python库 文章目录【ROS学习笔记10】ROS中配置自定义Cpp头文件和导入自定义Python库一、ROS中的头文件和源文件1.1 自定义头文件调用1.2 自定义源文件调用二、Python模块的导入Reference写在前面#xff0c;本系列笔记参…【ROS学习笔记10】ROS中配置自定义Cpp头文件和导入自定义Python库 文章目录【ROS学习笔记10】ROS中配置自定义Cpp头文件和导入自定义Python库一、ROS中的头文件和源文件1.1 自定义头文件调用1.2 自定义源文件调用二、Python模块的导入Reference写在前面本系列笔记参考的是AutoLabor的教程具体项目地址在 这里 一、ROS中的头文件和源文件 本节主要介绍ROS的C实现中如何使用头文件与源文件的方式封装代码具体内容如下: 设置头文件可执行文件作为源文件分别设置头文件源文件与可执行文件。 在ROS中关于头文件的使用核心内容在于CMakeLists.txt文件的配置不同的封装方式配置上也有差异。 1.1 自定义头文件调用 需求: 设计头文件可执行文件本身作为源文件。 流程: 编写头文件编写可执行文件(同时也是源文件)编辑配置文件并执行。 1、头文件 再功能包的include/功能包名目录下新建头文件hello.h示例内容如下 #ifndef _HELLO_H #define _HELLO_Hnamespace hello_ns{class HelloPub {public:void run(); };}#endif注意 在VsCode中为了后续包含头文件时不抛出异常请配置.vscode下的c_cpp_properties.json的includepath属性。 /home/用户/工作空间/src/功能包/include/**2、可执行文件 在src目录下新建文件hello.cpp示例内容如下 #include ros/ros.h #include test_head/hello.hnamespace hello_ns {void HelloPub::run(){ROS_INFO(自定义头文件的使用....); }}int main(int argc, char *argv[]) {setlocale(LC_ALL,);ros::init(argc,argv,test_head_node);hello_ns::HelloPub helloPub;helloPub.run();return 0; }3、配置CMakeLists.txt文件 配置CMakeLists.txt文件头文件相关配置如下: include_directories( include${catkin_INCLUDE_DIRS} )可执行配置文件配置方式和之前一致 add_executable(hello src/hello.cpp)add_dependencies(hello ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})target_link_libraries(hello${catkin_LIBRARIES} )最后编译并执行控制台可以输出自定义的文本信息。 效果如下 1.2 自定义源文件调用 **需求:**设计头文件与源文件在可执行文件中包含头文件。 流程: 编写头文件编写源文件编写可执行文件编辑配置文件并执行。 1、头文件 头文件的设置和3.2.1类似在功能包下的include/功能包名目录下新建头文件haha.h示例内容如下 #ifndef _HAHA_H #define _HAHA_Hnamespace hello_ns {class My {public:void run();};}#endif2、源文件 在src目录下新建文件haha.cpp示例内容如下 #include test_head_src/haha.h #include ros/ros.hnamespace hello_ns{void My::run(){ROS_INFO(hello,head and src ...); }}3、可执行文件 在src目录下新建文件use_head.cpp示例内容如下 #include ros/ros.h #include test_head_src/haha.hint main(int argc, char *argv[]) {ros::init(argc,argv,hahah);hello_ns::My my;my.run();return 0; }4、配置CMakeLists.txt文件 头文件与源文件相关配置 include_directories( include${catkin_INCLUDE_DIRS} )## 声明C库 add_library(headinclude/test_head_src/haha.hsrc/haha.cpp )add_dependencies(head ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})target_link_libraries(head${catkin_LIBRARIES} )可执行文件配置: add_executable(use_head src/use_head.cpp)add_dependencies(use_head ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})#此处需要添加之前设置的 head 库 target_link_libraries(use_headhead${catkin_LIBRARIES} )结果示例 二、Python模块的导入 与C类似的在Python中导入其他模块时也需要相关处理。 **需求:**首先新建一个Python文件A再创建Python文件UseA在UseA中导入A并调用A的实现。 实现: 新建两个Python文件使用 import 实现导入关系添加可执行权限、编辑配置文件并执行UseA。 1、新建两个Python文件并使用import导入 文件A实现包含一个变量 #! /usr/bin/env python num 1000文件B核心实现 import os import syspath os.path.abspath(.) # 核心 sys.path.insert(0,path /src/plumbing_pub_sub/scripts)import tools.... ....rospy.loginfo(num %d,tools.num)2、添加可执行权限编辑配置文件并执行 略 示例结果 Reference http://www.autolabor.com.cn/book/ROSTutorials/di-2-zhang-ros-jia-gou-she-ji/23-fu-wu-tong-xin/224-fu-wu-tong-xin-zi-ding-yi-srv-diao-yong-b-python.html
http://www.hkea.cn/news/14371330/

相关文章:

  • 响应式衣柜网站深圳南山网站开发
  • 集团网站建设制作费用重庆好玩还是成都好玩
  • 平面设计常用网站如何做外贸soho做网站
  • 关于做网站的搞笑段子台州集团网站建设
  • 如何在记事本中做网站链接麦客crm
  • 大理建设学校官方网站无忧网站建设推荐
  • 网站双语怎么做公司网站手机版
  • 汽车配件生产企业网站模板免费项目网站
  • 如何设计大气的网站精准客户截流软件
  • 做的好看的旅游网站京东做代码的网站吗
  • 做网页的网站第三方营销策划公司有哪些
  • 做特殊任务的网站山东省乡镇网站建设
  • 品牌网站建设h合肥中山 照明 骏域网站建设
  • 推广网站怎么做能增加咨询郑州网络推广公司排名
  • 赣州做网站的公司有哪家好网页编辑软件有哪些?
  • 上海的网站建设公司wordpress 关掉缓存
  • 企业网站建设维护方案张家界有实力seo优化费用
  • 南京市建筑工程网站做电商网站的公司简介
  • 深圳南山建设局官方网站久久建筑网解析
  • 网站如何做双链路页面设计读书笔记1500
  • 自己怎样做海外网站茂名优化网站建设
  • deals网站建设宁波网站建设地方
  • 河北住房城乡建设厅官方网站天津公司网站
  • 什么网站可以请人做软件下载网站的建设和推广
  • 网站加网页ui设计前景怎样
  • 如何用asp做网站上海自助建站软件
  • 农安县住房城乡建设局网站深圳建设人力资源网
  • 站长统计app进入网址新版个人网站的首页
  • 石家庄做网站电话php做网站 价格
  • 做网站其实不贵asp网站怎么打开