请选择 进入手机版 | 继续访问电脑版

 找回密码
 立即注册
搜索
查看: 197|回复: 0

编译用于在 Windows 系统下开发 ARM Linux 的 Qt 库

[复制链接]

263

主题

0

回帖

1028

积分

管理员

积分
1028
发表于 2023-12-19 17:32:26 | 显示全部楼层 |阅读模式

1、在 https://www.mentor.com/embedded-software/sourcery-tools/sourcery-codebench/editions/lite-edition/ 下载 Windows 版 ARM 交叉编译工具链。

Sourcery CodeBench Lite Edition

Sourcery CodeBench Lite Edition is a free, unsupported version of Sourcery CodeBench, available for select processors.

Sourcery CodeBench is a complete development environment for embedded C/C++ development. Sourcery CodeBench Lite Edition includes:

  • GNU C and C++ compilers
  • GNU assembler and linker
  • C and C++ runtime libraries
  • GNU debugger

我使用的是 arm-2014.05-29-arm-none-linux-gnueabi

2、加入到系统环境变量 Path 中,测试:arm-none-linux-gnueabi-gcc -v

3、下载 Qt 源码 http://download.qt.io/archive/qt/5.6/5.6.1/single/qt-everywhere-opensource-src-5.6.1.7z

4、安装、配置 python、perl 等必要环境,可参考 Qt 5.6 静态编译

5、配置

将 /qtbase/mkspecs/linux-arm-gnueabi-g++/qmake.conf 中的:

QMAKE_CC                = arm-linux-gnueabi-gcc
QMAKE_CXX               = arm-linux-gnueabi-g++
QMAKE_LINK              = arm-linux-gnueabi-g++
QMAKE_LINK_SHLIB        = arm-linux-gnueabi-g++

修改为:

QMAKE_CC                = arm-none-linux-gnueabi-gcc
QMAKE_CXX               = arm-none-linux-gnueabi-g++
QMAKE_LINK              = arm-none-linux-gnueabi-g++
QMAKE_LINK_SHLIB        = arm-none-linux-gnueabi-g++

进入源码根目录,执行配置命令:

configure -opensource -confirm-license -release -xplatform linux-arm-gnueabi-g++ -prefix "C:\Qt\kits\linux-arm-5.6.1" -qt-sql-sqlite -no-openssl -no-opengl -no-openvg -nomake tools -nomake examples -nomake tests

需要注意,交叉编译使用了 -xplatform 而不是 -platform

6、编译

执行命令:mingw32-make

7、安装

将编译好的工具包安装在配置中定义的位置:-prefix "C:\Qt\kits\linux-arm-5.6.1"

执行命令:mingw32-make install

8、配置 Qt Creator

工具>选项>构建和运行 中作如下配置:


后记:

1、使用 Linaro GCC 工具链

在使用 Sourcery CodeBench Lite 之前我使用 gcc-linaro-5.3-2016.02-i686-mingw32_arm-linux-gnueabi 编译 qt-everywhere-opensource-src-5.6.1 一直出现错误,无奈只能暂时放弃。

看到 qt-everywhere-opensource-src-5.6.2 发布了,于是今天打算再编译一下试试看,不过这次使用的是更新的 gcc-linaro-6.1.1-2016.08-i686-mingw32_arm-linux-gnueabi,结果成功了。


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|深圳市棱讯科技有限公司 ( 粤ICP备2024228160号-2 )|网站地图

GMT+8, 2024-5-18 08:32 , Processed in 0.020190 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表