1、安装Msys2

下载Msys2,下载地址 https://msys2.github.io,注意根据笔记本的型号选择32bit或64bit。

2、添加LibrePilot MinGW库

在 /etc/pacman.conf文件的尾部添加如下代码,可以手动添加,添加后保存即可。

[librepilot-mingw]
SigLevel = Optional TrustAll
Server = http://download.librepilot.org/repo/mingw
 
也可以在Msys2中通过命令行添加,代码如下:
echo "[librepilot-mingw]" >> /etc/pacman.conf
echo "SigLevel = Optional TrustAll" >> /etc/pacman.conf
echo "Server = http://download.librepilot.org/repo/mingw" >> /etc/pacman.conf

3、安装所需的模块

注意此步骤不在Msys2中进行,而是根据你的电脑机型选择32bit的MinGW-w64 Win32 Shell或者64bit的MinGW-w64 Win64 Shell进行操作。

For 32 bit:

pacman -Sy
pacman -S --needed git unzip tar
pacman -S --needed mingw-w64-i686-toolchain
pacman -S --needed mingw-w64-i686-ccache
pacman -S --needed mingw-w64-i686-ntldd
pacman -S --needed mingw-w64-i686-qt5
pacman -S --needed mingw-w64-i686-SDL
pacman -S --needed mingw-w64-i686-mesa
pacman -S --needed mingw-w64-i686-openssl
pacman -S --needed mingw-w64-i686-gdal-minimal
pacman -S --needed mingw-w64-i686-OpenSceneGraph
pacman -S --needed mingw-w64-i686-osgearth
pacman -S --needed mingw-w64-i686-graphite2
pacman -S --needed mingw-w64-i686-nghttp2
pacman -S --needed mingw-w64-i686-gst-plugins-base
pacman -S --needed mingw-w64-i686-gst-plugins-good
pacman -S --needed mingw-w64-i686-gst-plugins-bad
pacman -S --needed mingw-w64-i686-gst-plugins-ugly
pacman -S --needed mingw-w64-i686-gst-libav

推荐安装的debug包:

pacman -S --needed mingw-w64-i686-OpenSceneGraph-debug
pacman -S --needed mingw-w64-i686-osgearth-debug

For 64 bit:

pacman -Sy
pacman -S --needed git unzip tar
pacman -S --needed mingw-w64-x86_64-toolchain
pacman -S --needed mingw-w64-x86_64-ccache
pacman -S --needed mingw-w64-x86_64-ntldd
pacman -S --needed mingw-w64-x86_64-qt5
pacman -S --needed mingw-w64-x86_64-SDL
pacman -S --needed mingw-w64-x86_64-mesa
pacman -S --needed mingw-w64-x86_64-openssl
pacman -S --needed mingw-w64-x86_64-gdal-minimal
pacman -S --needed mingw-w64-x86_64-OpenSceneGraph
pacman -S --needed mingw-w64-x86_64-osgearth
pacman -S --needed mingw-w64-x86_64-gst-plugins-base
pacman -S --needed mingw-w64-x86_64-gst-plugins-good
pacman -S --needed mingw-w64-x86_64-gst-plugins-bad
pacman -S --needed mingw-w64-x86_64-gst-plugins-ugly
pacman -S --needed mingw-w64-x86_64-gst-libav

推荐安装的debug包:

pacman -S --needed mingw-w64-x86_64-OpenSceneGraph-debug
pacman -S --needed mingw-w64-x86_64-osgearth-debug

4、获取Librepilot源代码

注意此步骤依然不在Msys2中进行,而是根据你的电脑机型选择32bit的MinGW-w64 Win32 Shell或者64bit的MinGW-w64 Win64 Shell进行操作。

命令如下:

cd ~
git clone https://bitbucket.org/librepilot/librepilot.git

获取完成后,在安装路径文件夹下应该有一个home文件夹,里面是用户,进入后应该有一个librepilot文件夹,该文件夹下即为获取的源代码,可以通过sourceInsight查看源码。

5、安装toolchain

通过cd librepilot切换到该文件夹下,在该文件夹下安装toolchain。

cd librepilot
mingw32-make all_sdk_install

一个安装如下的7个toolchain,注:该过程有可能出现error,是因为网络传输数据出现校验不通过的情况,需反复执行mingw32-make all_sdk_install命令,直到完全没有错误为止,此过程中保存网络通畅。

Tool
Approx. size
Used for
Arm compiler ~94Mb

firmware build

Nsis ~2,1Mb Windows installer
Mesa ~13Mb OpenGL software driver
ccache ~350Kb Build faster
gtest ~1,1Mb  
uncrustify ~250Kb Format code
doxygen ~4Mb Documentation

6、对LibrePilot软件进行编译

注意此步骤依然不在Msys2中进行,而是根据你的电脑机型选择32bit的MinGW-w64 Win32 Shell或者64bit的MinGW-w64 Win64 Shell进行操作。

命令如下:

mingw32-make package

注意:此过程比较缓慢,编译时间较长,需要耐心等待。

编译完成后,在~/librepilot/build/路径下应该出现一个地面站软件安装包,如下:

7、恭喜完成编译 !

到这一步就应该恭喜你了,完成了全部的编译过程。编译package安装包的时间比较长,后期在修改源码的基础上只需对修改的模块进行编译,这样会比较节省时间。

Librepilot-Windows编译环境的搭建的更多相关文章

  1. Windows下QT4.8.4编译环境的搭建(转载http://blog.csdn.net/bestgonghuibin/article/details/38933141)

    开始使用QT了,所以第一步就是把环境搭起来,这里小记一下,以免以后忘记. 1. 下载安装文件 要使用QT功能,那么必须要下载QT的源码,还必须要一个是用QT的编译环境,可以是VS2010,也可以是专用 ...

  2. Java编译环境的搭建(eclipse)

    每用一种语言开发,要搭建其编译和开发环境,我们废话不说,立刻来看看Java开发环境的搭建. 1.安装JDK和JRE Windows环境下: a.去Oracle官网下载对应版本的JDK安装包,http: ...

  3. Windows XP环境下 搭建Android NDK环境

    搭建Android NDK环境 Windows XP环境下 1 一些下载 ① NDK r7:http://developer.android.com/sdk/ndk/index.html ② cygw ...

  4. WebAssembly学习(二):Windows10下WebAssembly C/C++编译环境的搭建与Hello World尝试

    首先,不论是在Windows.Linux还是Mac上,Webassembly的编译都是主要依赖于Emscripten SDK这个工具的.但是,在这里必须要吐槽一下,不论是WebAssembly官网.W ...

  5. 第一篇:《UNIX 网络编程 第二版》编译环境的搭建

    第一步:搭建基本的编译环境 安装gcc, g++, bulid-essential等编译软件 第二步:下载本书示例源码包 第三步:解压下载到的包并放在用户主目录中 第四步:进入包内并执行以下命令 su ...

  6. 第一篇:《UNIX 环境高级编程》编译环境的搭建

    第一步:搭建基本的编译环境 安装gcc, g++, bulid-essential等编译软件 第二步:下载本书示例源码包 可在这里下载 www.apuenook.com 第三步:解压下载到的包并放在用 ...

  7. 《UNIX 环境高级编程》编译环境的搭建( 运行本专栏代码必读 )

    第一步:搭建基本的编译环境 安装gcc, g++, bulid-essential等编译软件 第二步:下载本书示例源码包 可在这里下载 www.apuenook.com 第三步:解压下载到的包并放在用 ...

  8. 《UNIX 网络编程 第二版》编译环境的搭建( 运行本专栏代码必读 )

    第一步:搭建基本的编译环境 安装gcc, g++, bulid-essential等编译软件 第二步:下载本书示例源码包 可在这里下载http://ishare.iask.sina.com.cn/f/ ...

  9. 【Linux编译环境的搭建】Linux都没有,怎么学Linux编程?

    本文准备从0开始,一步步搭建一套属于自己的多节点Linux系统环境,这将是后续学Linux.用Linux.Linux环境编程.应用和项目部署.工具实验等一系列学习和实践的基石,希望对小伙伴们有帮助. ...

  10. ESP32 windows开发环境的搭建(官方方法)

    首先保证电脑中的已经下载了git客户端,没有的自行去https://git-scm.com/下载 STEP1: 获得编译工具链 Windows没有内置的“make”环境,所以安装工具链你将需要一个兼容 ...

随机推荐

  1. JAVA-ThreadPoolExecutor 线程池

    一.创建线程池 /** * @param corePoolSize 核心线程池大小 * 当提交一个任务到线程池时,如果当前 poolSize < corePoolSize 时,线程池会创建一个线 ...

  2. 初始化EPT

    struct eptp_bits { unsigned memory_type :; /* 0: UC uncacheable, 6: WB writeback */ unsigned pagewal ...

  3. leetcode 496下一个更大的元素I

    单调递减栈来做,time O(n),spaceO(n)需要一个哈希map class Solution { public: vector<int> nextGreaterElement(v ...

  4. html 绘图

    <html> <head> <title>canvas绘制图形</title> <style> body{ margin: 0px; pad ...

  5. internetwork 与 the Internet的区别

    internetwork 表示:互连网络 the Internet 表示:因特网

  6. 内网每一台电脑的外网ip是一样吗

    内网每一台电脑上网的IP地址是一样的,因为公网地址的稀缺性,所以内部上网是通过映射或者说叫端口复用将内部私有地址转换为公有地址进行上网的. 公有地址就是网关设备出口的地址,也可以说是路由器的出口地址, ...

  7. Django 数据库进阶操作

    基本操作 # 增 # # models.Tb1.objects.create(c1='xx', c2='oo') 增加一条数据,可以接受字典类型数据 **kwargs # obj = models.T ...

  8. beego 注解路由

    场景描述:使用注解路由,不起作用. 额外描述: 路由的添加都写在 main函数中了,同时未设置 beego.BConfig.RunMode ="dev"也未引入 :routers包 ...

  9. Centos7 修改系统时间和硬件时间不一致的问题

    查看系统时间 [root@localhost ~]# dateSat Feb 24 14:41:22 CST 2018 查看硬件时间 [root@localhost ~]# hwclock --sho ...

  10. VTK中,定义imread()函数,读取“.vts"文件

    在本程序中,定义了一个imread()函数,用于读取“.vts”文件,第一个参数为文件路径,第二个参数为输出对象,可以输出为tkStructuredGrid型对象,也可以输出为vtkActor型对象. ...