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)