这个星期我用VS2017编译 Mission Planner ,编译出现各种错误,在网上找到了许多资料,发现都是年代比较久远,很多都是雷同,vs2010版本,VS 2013版本居多,经过几天终于编译通过了。如下图 :版本号改了。
教程: 首先先观看官方教程
原官方教程链接为:http://ardupilot.org/dev/docs/buildin-mission-planner.html
Mission Planner源码地址为:https://github.com/ArduPilot/MissionPlanner
最新版Mission Planner上位机软件下载链接为:http://firmware.ardupilot.org/Tools/MissionPlanner/MissionPlanner-latest.msi
1.安装vs 2017,下载链接去官方下载地址https://visualstudio.microsoft.com/zh-hans/?rr=https%3A%2F%2Fwww.so.com%2Fs%3Fq%3Dvs2017%25E5%25AE%2598%25E7%25BD%2591%26psid%3D0fe86ef8d5d4467e982c7bf8f091bb3f%26src%3Dpdr_guide_2.30%26fr%3Dhao_360so_b 国外网站可能有点慢。
2.下载missplaner 源码 https://github.com/ArduPilot/MissionPlanner 。
3.官方说下载最新的上位机 ,我测试了不用下也可以 。
4.解压下载的源码,用VS 2017打开,如下图:
等待工程加载。会发现报许多错误,或者警告如下图
如果你出现上图说明 你系统是不支持的!最好用 win10 专业版 ,本来已经测试了 win7 ,win8 都不行,给开发者反馈,建议用win10 系统。
还要编译报错有两种:
一种是 Error CS0006 Metadata file 'D:\WIND\Documents\Visual Studio 2017\Projects\MissionPlanner\ExtLibs\Utilities\bin\Debug\netstandard2.0\MissionPlanner.Utilities.dll' could not be found MissionPlanner.Maps
另一种是 Error CS0103 The name 'SynthesizerState' does not exist in the current context MissionPlanner.Utilities(netstandard2.0)
上图这两个错误 解决办法在下图 打开VS 更新包 点击工具 ->获取工具与功能
官方教程是:
官网是这个三个 。一般上图的问题就能解决了
如果还有其他的问题 如下图:
一般官方点击是不添加的 必须手动添加 可以帮我们解决很多问题!
5.然后再次编译MissionPlanner.Utilities项目发现就可以通过了,再去编译MissionPlanner项目就可以顺利通过并允许。
第一次学习写 有不足的之处 还请多多请教! QQ :2929736624 一起交流 。
不懂留言!!!
如果觉得文章对你有帮助加个关注!!