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. 谈谈 UI 中, Padding 和 Margin 有什么区别?

    android:padding 和 android:layout_margin 的区别,其实概念很简单,padding 是站在父 view 的角度描述问题,它规定它里面的内容必须与这个父 view 边 ...

  2. MEF引起的内存泄露

    也许你编程的时候很小心,注意不引起内存泄露,例如不要被全局Static的变量引用上,注意Singleton的static引用,注意Event Handler注销,注意IDisposable接口实现,而 ...

  3. UEditor富文本编辑器时,插入图片没有任何反应

    1.信息: Unable to find 'struts.multipart.saveDir' property setting. Defaulting to javax.servlet.contex ...

  4. Delphi中基本控件之SaveDialog控件的使用总结

    首先向Form窗体拖一个SaveDialog控件,Name属性改为:dlgSave,然后添加一个按钮,Caption属性改为:浏览,Name属性改为:btnBrowse. 然后双击浏览按钮添加如下代码 ...

  5. java:struts框架(网路静态U盘项目)

    1.网络静态U盘项目: struts.xml: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYP ...

  6. python常用语句

    流程控制if...else.... name = '疯子' res = input('你叫什么名字?') if res == name: print('帅哥') else: print('丑男') 如 ...

  7. 爬虫七之分析Ajax请求并爬取今日头条

    爬取今日头条图片 这里只讨论出现的一些问题,代码在最下面github链接里. 首先,今日头条取消了"图集"这一选项,因此对于爬虫来说效率降低了很多: 在所有代码都完成后,也许是爬取 ...

  8. 【VS开发】【图像处理】RGB各种格式

    RGB格式 RGB组合格式 名字 RGB组合格式 描述 此格式用来匹配PC图形帧缓存.每个像素占据8,16,24或32个位,他们都是组合像素格式,其意为在内存中所有像素数据都是相邻排列的.当使用这些格 ...

  9. 去掉有序数组中的重复元素 c/c++

    去掉有序数组中的重复元素: int RemoveDuplates(int A[], int nCnt) { ; ; , j = ; i < nCnt && j < nCnt ...

  10. windows编程 使用C++实现多线程类

    有时候我们想在一个类中实现多线程,主线程在某些时刻获得数据,可以“通知”子线程去处理,然后把结果返回.下面的实例是主线程每隔2s产生10个随机数,将这10随机数传给多线程类,让它接收到数据后马上打印出 ...