编译环境
系统:Windows 11
代码版本:QGC 4.4.2
QT版本:QT5.12.2
QT在安装时可按照如下配置:
还需要安装VS2019 C++环境,安装内容如下:
源码下载
下载源码:
git clone https://github.com/mavlink/qgroundcontrol.git
更新子模块
git submodule update --init --recursive
源码下载完成后用QT打开qgroundcontrol.pro
去过只在Windows环境下运行,配置项目环境如下,选择完成后点击configure project:
配置完成后点击Debug运行,此时会提示报错,是因为字符编码格式错误导致
用VS 2019将这个报错文件打开,点击高级保存选项,将字符编码格式改为如下然后保存
然后再回到QT进行编译,编译成功
生成安装包
首先安装NSIS打包工具,默认安装路径一直安装就行,然后按照如下在额外的参数里面添加CONFIG+=installer,配置完成后先将以前编译的文件删除,重新进行编译:
编译完成后就可以在编译目录下找到对应的安装文件了
问题解决
1. 解决中文版本QGC不显示航线问题
修改翻译文件
定位文件:找到QGC源码中的translations/qgc_json_zh_CN.ts和translations/qgc_source_zh_CN.ts文件。
修改逗号:在上述文件中,查找所有中文逗号(,)并将其替换为英文逗号(,)。
修改句号:在上述文件中,查找所有中文逗号(。)并将其替换为英文逗号(.)。
注意特殊情况:文件中有一处中文翻译是以顿号(、)作为分隔符的,需要将该处的顿号改为英文逗号。
编译和测试
重新编译:完成修改后,重新编译QGC地面站源码。
测试验证:将语言设置为中文,检查航点是否能够正常显示。