7.ROS多文件编程

cpp

头文件

可以在src目录下建立include文件夹,在这个文件夹建立头文件,代码如下:

# pragma once
#include "ros/ros.h"

namespace ns
{
	class Test
	{
	public:
		void turn();
	};
}

源文件

#include "ros/ros.h"
#include "head.h"
namespace ns
{
	void Test::turn()
	{
		ROS_INFO("succeed");
	}
}

执行文件

#include "ros/ros.h"
#include "head.h"

int main(int argc, char* argv[])
{
	ros::init(argc,argv,"test");
	ns::Test obj;
	obj.run();
	return 0;
}

配置文件

首先配置库,CMakeLists文件如下:

# 添加头文件的搜索路径
include_directories(
include
  ${catkin_INCLUDE_DIRS}
)
# 生成静态库
add_library(head
  include/test_head_src/head.h
  src/head.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_head
  head
  ${catkin_LIBRARIES}
)

python

python比较简单,注意环境变量就可以了

#! usr/in/env python
num = 100

代码

#! usr/bin/env python

import sys
import os
import rospy

path = os.path.abspath(".")
sys.path.insert(0,path+"/src/package/scripts")
# 顺序不能反
import header

rospy.loginfo(header.num)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lilili~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值