Dragonboard-410c #5 - MRAA交叉编译

本文介绍如何在Ubuntu 17.10上使用cmake-qt-gui及arm-linux-gnueabihf编译器对MRAA v1.9.0进行交叉编译,并提供详细的步骤说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

编译机器:Ubuntu 17.10 amd64

    在之前的这篇博文里,已经记载了如何在开发板上下载,编译与使用mraa库。但是在部分开发板上编译mraa时(比如之前从垃圾箱里翻出的BeagleBoneBlack),受限于CPU性能,我们需要经过挺长一段时间的编译才能够进行安装使用。这里也是为了折腾才想着使用电脑对mraa进行交叉编译,然后再到开发板上进行安装(事实证明,电脑进行交叉编译还是快很多)。

1.环境准备

    这里我们准备使用cmake-qt-gui进行编译配置,而手头开发板的编译器使用的是arm-linux-gnueabihf,所以我们需要先进行一下编译环境上的准备。

sudo apt install cmake-qt-gui //图形界面cmake
sudo apt install gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf //编译器

    然后,为了编译mraa,我们按照官网的要求安装依赖(这里先不考虑是否需要精简)

sudo apt-get install git build-essential swig3.0 python-dev nodejs-dev cmake libjson-c-dev

2.mraa包下载与交叉编译

wget https://github.com/intel-iot-devkit/mraa/archive/v1.9.0.tar.gz  //这里使用的是1.9.0版本
tar -zxvf v1.9.0.tar.gz   
cd mraa-1.9.0/  
mkdir build  //创建一个文件夹,用以存放构建文件
cd build      

    接着,使用cmake进行编译配置,这里有几点需要注意的地方。

    选择好mraa源代码路径以及生成路径(build)后,点击configure,选择“Specify options for cross-compiling”(为交叉编译进行配置?)

 

    Next,进行编译器以及关联设置,参照图片填写好就可以,注意将编译器更换为你目标板上的编译器即可

 

    完成后,点击configure,到这里就有几个需要进行更改的地方:

 

  1. 去掉SWIG相关编译选项
  2. 去掉JSONPLAT编译相关选项
  3. (可选)去掉EXAMPLES(例程)编译相关选项
  4. (可选)去掉TESTS(测试)编译相关选项
  5. (为了之后不必添加路径)将CMAKE_INSTALL_PREFIX路径修改为 /usr

    整个修改完成后应该看上去是这个样子

   这里不将SWIG与json取消的话,会一直调用amd64的编译器进行编译,然后无止境的报错。

   而我们在使用mraa库的时候一般用不到这两个,所以去除掉也无大碍。

    (期待爱折腾的人分享其他的解决办法!)

       再次configure,无报错后进行generate。完成后我们便可以开始make了

make

    (之前在BBB上编译要等十来分钟,电脑上十来秒就完工。。。)

    之后,将其ftp或者用sd卡在目标板上进行make install即可。

——————————————分割线 待后续纠错——————————————

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值