本文举例说明如何为MAVSDK应用程序建立一个Eclipse开发环境,有了这样一个开发环境,MAVSDK应用程序的开发与调试将变得轻松一些。
版本说明:
ubuntu 20.0.04
MAVSDK 0.42(system-wide installation)
Eclipse 2021-06(4.20.0)
注:
所谓system-wide installation是指二进制的共享库和头文件源程序已经安装在/usr/local下了。
MAVSDK的二进制库安装在usr/local/lib下,头文件安装在/usr/local/include下。
我们为MAVSDK的takeoff_and_land例子建立一个Eclipse开发环境。
1. 建立Eclipse的源码目录
1)创建一个源码目录
在MAVSDK/examples下建立一个新的目录:try_takeoff_and_land,将takeoff_and_land目录下的takeoff_and_land.cpp拷贝到try_takeoff_and_land目录下,不要拷贝CMakefiles.txt。
2. 启动Eclipse
1. 在Eclipse File菜单下选择
File→New→Project→C++Project
在这个对话框中,填写项目名称(Project name):try_tl
填入项目对应的源码目录(use default location):
home/xxx/MAVSDK/examples/try_takeoff_and_land
在Project type栏目中选择“empty project”
在Tool chain栏目中选择“Linux GCC”
点击“Finish”
Eclipse就在左侧建立了这个项目的目录树。至此,项目有了它对应的源码目录,确定了它的工作空间,而且也确定了它的工具链。
2. 填写项目的Properties
右键点击项目树的“try_tl”项目,选择Properties
在Properties对话框下,选择Tool setting栏目
在GCC C++项的下面选择Dialect,在Language standard项目下的下拉菜单中选择ISO C++ 17,
注意:这一步是因为MAVSDK的大部分例子用到了C++ 11以上的语法和语义。
在GCC C++项的下面选择Includes, 添加:/usr/local/include/mavsdk。
注意:不设置这一项,编译时会被告知找不到.h头文件。
在GCC C++ Linker的下面选择Libraries,在上面的Libraries栏目,添加:mavsdk、mavsdk_telemetry, mavsdk_action三项
在下面的Libraries Path栏目,添加:/usr/local/lib
注意:
-
链接哪些库,可查看CMakefiles.txt文件。
-
MAVSDK编译出的库,比如库名叫libmavsdk.o,但是这里只能填写mavsdk,既不能有“lib”也不能写“.o”。Eclipse的毛病,只能这么写,忍了吧。
然后,点击Apply and close按钮。
3. 编译与运行
在Eclipse项目树中右键点击try_tl项目,选择Build project,编译成功。
在Eclipse菜单中点击Run菜单项,选择Run Configuration,点击arguments,填写:udp://:14540。
然后选择run按钮即可运行takeoff_and_land这个MAVSDK应用程序。
注意:当然,在此之前需要先把仿真环境运行起来。