c++ - 为 Beaglebone Black 编译 Qt

标签 c++ qt arm cross-compiling beagleboneblack

我想从源代码为 Beaglebone Black 编译 Qt

我有以下内容:

  1. 交叉编译器:gcc-linaro-arm-linux-gnueabihf-4.9-2014.06_linux
  2. qt-everywhere-opensource-src-5.3.1。

我的主机操作系统是 Scientific Linux 6.3 32 位。 我的问题是我不知道需要将哪些参数传递给 ./confiure 工具。 我有以下线索:

  1. -xplatform = qtbase/mkspecs/linux-arm-gnueabi-g++
  2. -device = qtbase/mkspecs/devices/linux-beagleboard-g++
  3. -device-option CROSS_COMPILE=/home/anjanu/Downloads/gcc-linaro-arm-linux-gnueabihf-4.9-2014.06_linux/bin/arm-linux-gnueabihf-g++

这是否正确?所有需要传递给 ./configure 的内容以及 sysroot 选项的用途是什么?

最佳答案

基本上,这本身就足够了:

-xplatform = qtbase/mkspecs/linux-arm-gnueabi-g++

其余的几乎都是红鲱鱼......

即使工具链二进制文件以其长名称正确命名,例如arm-linux-gnueabi-g++,包含和库路径可能与系统包含和库路径冲突。这正是 sysroot 的目的。

您可以将其设置为您的交叉工具链安装的路径。不,这不是 Qt 安装。它是您可能从 Linaro 获得的 SDK,包括用于跨平台开发的整个 SDK。即编译器、链接器、剥离器、包含文件、库等。

关于c++ - 为 Beaglebone Black 编译 Qt,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24839471/

相关文章:

c++ - “CvLoadImage”未在此范围内声明

c++ - 在构造之前调用实例上的非成员函数

ubuntu 上 QtCreator 3.5.0 中的 C++11

qt - Qt5.12.11没有账号怎么安装?

c - Mac OS X,如何为ARM编译.c文件并在之后反汇编它?

c++ - 通过引用将 unique_ptr 传递给函数

c++ - 将 C++ 中的 unicode 字符串转换为大写

c++ - 在 Qt 中为 QGraphicsObject/QGraphicsItem 设置动画

gcc - 为什么 ld 在输出文件中包含链接命令文件中未指定的部分?

c - NEON 比较