交叉编译Qt5.8

arm平台:BeagleBone Black

编译平台:ubuntu16.04

交叉编译工具:arm-Linux-gnueabihf

qt源码:qt-everywhere-opensource-src-5.8.0.tar.gz


设置arm-linux-gnueabihf路径

[plain]  view plain  copy
  1. ~$ vim ~/.bashrc  

向文件中加入如下一行

[plain]  view plain  copy
  1. export PATH=$PATH:~/gcc-linaro-4.9-arm-linux-gnueabihf/bin  

保存并退出文件,刷新

[plain]  view plain  copy
  1. ~$ source ~/.bashrc  

配置并编译qt

修改qt支持arm-linux-gnueabihf交叉编译工具

[plain]  view plain  copy
  1. ~$ tar -xzf qt-everywhere-opensource-src-5.8.0.tar.gz   
  2. ~$ cd qt-everywhere-opensource-src-5.8.0/qtbase/mkspecs  
  3. ~/qt-everywhere-opensource-src-5.8.0/qtbase/mkspecs$ cp -r linux-arm-gnueabi-g++/ linux-arm-gnueabihf-g++  
  4. ~/qt-everywhere-opensource-src-5.8.0/qtbase/mkspecs/linux-arm-gnueabihf-g++$ vim qmake.conf  


把文件中的arm-linux-gnueabi替换为arm-linux-gnueabihf,如下内容

[plain]  view plain  copy
  1. #  
  2. # qmake configuration for building with arm-linux-gnueabihf-g++  
  3. #  
  4.   
  5.   
  6. MAKEFILE_GENERATOR      = UNIX  
  7. CONFIG                 += incremental  
  8. QMAKE_INCREMENTAL_STYLE = sublib  
  9.   
  10.   
  11. include(../common/linux.conf)  
  12. include(../common/gcc-base-unix.conf)  
  13. include(../common/g++-unix.conf)  
  14.   
  15.   
  16. # modifications to g++.conf  
  17. QMAKE_CC                = arm-linux-gnueabihf-gcc  
  18. QMAKE_CXX               = arm-linux-gnueabihf-g++  
  19. QMAKE_LINK              = arm-linux-gnueabihf-g++  
  20. QMAKE_LINK_SHLIB        = arm-linux-gnueabihf-g++  
  21.   
  22.   
  23. # modifications to linux.conf  
  24. QMAKE_AR                = arm-linux-gnueabihf-ar cqs  
  25. QMAKE_OBJCOPY           = arm-linux-gnueabihf-objcopy  
  26. QMAKE_NM                = arm-linux-gnueabihf-nm -P  
  27. QMAKE_STRIP             = arm-linux-gnueabihf-strip  
  28. load(qt_config)  

配置qt

[plain]  view plain  copy
  1. ~/qt-everywhere-opensource-src-5.8.0/qtbase/mkspecs/linux-arm-gnueabihf-g++$ cd ~/qt-everywhere-opensource-src-5.8.0  
  2. ~/qt-everywhere-opensource-src-5.8.0$ ./configure -prefix $PWD/qtbase -opensource -xplatform linux-arm-gnueabihf-g++ -no-opengl -nomake examples  

编译qt

[plain]  view plain  copy
  1. ~/qt-everywhere-opensource-src-5.8.0$ make -j4  

编译完成后在Qt Creator内设置qmake路径,就可以使用了


转自:http://blog.csdn.net/kingwan560/article/details/54889730

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
交叉编译是指在一种平台上编译出另一种平台可执行的代码。Qt是一个跨平台的用户界面开发框架,GStreamer是一个用于多媒体数据处理的开源框架。交叉编译Qt和GStreamer可以使得我们能够在一个平台上编译出可在另一个平台上运行的应用程序。 要进行交叉编译,首先需要一个交叉编译工具链,该工具链能够在一个平台上生成另一个平台的可执行代码。工具链通常包含了一个特定平台的C/C++编译器、链接器、库以及头文件。 为了交叉编译Qt,我们需要在交叉编译环境中配置好相应的工具链,并下载Qt源码。在交叉编译环境中,我们需要使用qmake工具来生成Makefile,然后使用make工具进行编译。在生成Makefile时,需要指定目标平台的一些参数,例如目标平台的编译器、链接器以及库的路径。 交叉编译GStreamer也类似,我们首先需要在交叉编译环境中配置好相应的工具链,并下载GStreamer源码。然后,我们需要使用autotools工具来生成configure脚本,指定目标平台的一些参数,并使用configure脚本来生成Makefile。最后,使用make工具进行编译即可。 需要注意的是,交叉编译过程中可能会遇到一些依赖问题,例如需要先交叉编译一些依赖库。此外,编译过程中还需要注意一些平台特定的配置和设置,以确保生成的代码可以在目标平台上正确运行。 总之,交叉编译Qt和GStreamer可以使我们能够在一个平台上开发和测试,然后将代码移植到另一个平台上运行,从而提高开发效率和跨平台性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值