赞
踩
准备工作:ubuntu20.04版本(不要18版本,会遇到问题)–>ubuntu安装
ubuntu18版本后期会遇到(启动qcreator时)
/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found
ubuntu18默认GLIBC_2.27版本,升级这个特别麻烦,网上有大佬解决成功了,过程非常繁琐.所以我选择了升级系统版本–>升级GLIBC过程(VIP文章,想了解可以私信我)
这里把会遇到的问题都列举一下
问题一:
error: Project ERROR: MAVLink folder does not exist at 'libs/mavlink/include/mavlink/v2.0'! Run 'git submodule init && git submodule update' on the command line.
就按照提示执行一下git submodule init && git submodule update就可以了
问题二:
error: dependent 'libs\xz-embedded\linux\lib\xz\xz_crc32.c' does not exist.
原因是没有这块代码,可以去gitee中下载的。下载完成后解压,将目录名改成xz-embedded,并拷到libs目录中,覆盖掉之前的。然后记得执行make clean
问题三:
“nlohmann_json/include/nlohmann/json_fwd.hpp”: No such file or directo
这个同样也需要自己下载,下载完成后把nlohmann_json放到libs\libevents\libevents\libs\cpp\parse\目录下,并在QGCExternalLibs.pri文件中指定INCLUDEPATH+=libs\libevents\libevents\libs\cpp\parse\nlohmann_json\include,同样在编译的时候执行 make clean.
系统安装成功后,是一个空空如也的系统,什么都需要自己下载.
首先ubuntu的页面不是全屏,解决方式有两种
1.可以用命令行去操作,但是不是太稳定,重启会失效,屏幕也可能没有合适的分辨率–>输入xrandr,然后输入你需要的分辨率 xrandr -s 1920x1440
2.利用Vmware的Tools去实现,一劳永逸类型,本人利用的这种类型–>实现Ubuntu全屏
3.代码下载,先去官网查看说明–>官网主分支代码,本人下载的是最新版本的代码,然后去qgc去查看安装说明(点击readme文件中的build)–>安装说明
整合:
代码下载:
git clone --recursive -j8 https://github.com/mavlink/qgroundcontrol.git
git submodule update --recursive
编译器:64 bit, gcc compiler
Qt version: 5.15.2 (官网说明只支持这一个版本)
组件下载:
必需组件:
sudo apt-get install speech-dispatcher libudev-dev libsdl2-dev patchelf
音频组件下载:
list=$(apt-cache --names-only search ^gstreamer1.0-* | awk '{ print $1 }' | sed -e /-doc/d | grep -v gstreamer1.0-hybris)
sudo apt-get install $list
sudo apt-get install libgstreamer-plugins-base1.0-dev
sudo apt-get install libgstreamer-plugins-bad1.0-dev
安装qt–>安装Qt
20版本遇到的问题
airmap/client.h: No such file or diretory
在qmake的时候加上一个参数,qmake的时候执行qmake DEFINES=DISABLE_AIRMAP …
/usr/bin/env: ‘bash\r’: No such file or directory
这是因为.sh是doc格式的,进去vim,执行: set ff=unix转换格式即可.
make:Nothing to be done for 'first'
这是因为多次执行make,而你没有任何改变,你有改动之后再make就ok
g++:fatal erroe:killed signal terninated program
这是因为内存不够,强制把进程杀死.可以重新执行编译,也可以指定少些线程数执行.
最后看到 linking staging/QGroundControl,一大段脚本,Post…common,说明你成功了.
然后去staging文件夹找可执行文件,第一次会弹出一个框,提醒你安装所需组件,安装后,就可以执行了.
以上是我这次编译遇到的大部分问题,随时补充.有问题评论~
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。