最主要的文件是client.cpp,在该节点中完成具体功能,该文件所在目录为:
1 |
cd ‘/home/ubuntu/sdk/src/dji_sdk_demo/src’ |
ROS编译方式如下:
1 2 3 4 |
cd sdk source /opt/ros/indigo/setup.bash source /home/ubuntu/sdk/devel/setup.bash catkin_make |
编译过程中出现了函数重名问题,解决方法的链接如下,要注意定义函数名和变量名的时候不能使用关键字distance
http://www.cocoachina.com/bbs/read.php?tid=170655
代码重构后,将client.cpp文件分成了许多库文件,方便进行处理,那么如何修改CMake文件让它能编译通过呢,方法如下:
1. 所有的.h文件要存放在/home/sdk/src/dji_sdk/include/目录下,include的时候直接include改目录下的目录地址,例如在该目录下新建文件夹dronecode_lib,文件夹中有dada.h头文件,则在client.cpp文件前面加上该指令:
1 |
#include<drone_lib/dada.h> |
2. 对应的dada.cpp文件应该放在与client.cpp相同的文件路径下,即/home/sdk/src/dji_sdk_demo/目录下,我在该目录下新建了一个文件夹名为drone_lib,在该文件夹里面放了dada.cpp,即dad.cpp的地址为:
1 |
/home/sdk/src/dji_sdk_demo/drone_lib/dada.cpp. |
3. 添加好之后,需要修改/home/sdk/src/dji_sdk_demo/目录下的CMakeList.txt文件,在该文件中的add_executable添加cpp文件的相对地址,比如原来没有dada.cpp的时候为:
1 2 |
add_executable(dji_sdk_client src/client.cpp) |
改为:
1 2 3 |
add_executable(dji_sdk_client src/client.cpp src/drone_lib/dada.cpp) |
然后正常编译即可,所有添加库文件都用这种方式进行