c++ - 如何通过 g++-arm-linux-gnueabihf 为 Arm 构建 Qt?

标签 c++ linux qt build qt5

  1. 下载的Qt源码

  2. 将 linux-arm-gnueabi-g++ 复制到 linux-arm-gnueabihf-g++(在 qtbase/mkspecs 中)

  3. 在文件夹中编辑 qmake.conf:

# modifications to g++.conf
QMAKE_CC                = arm-linux-gnueabihf-gcc
QMAKE_CXX               = arm-linux-gnueabihf-g++
QMAKE_LINK              = arm-linux-gnueabihf-g++
QMAKE_LINK_SHLIB        = arm-linux-gnueabihf-g++

# modifications to linux.conf
QMAKE_AR                = arm-linux-gnueabihf-ar cqs
QMAKE_OBJCOPY           = arm-linux-gnueabihf-objcopy
QMAKE_NM                = arm-linux-gnueabihf-nm -P
QMAKE_STRIP             = arm-linux-gnueabihf-strip

推出:

./configure -prefix /home/asianirish/Qt-custom/qt-embedded-5.7 -debug -static -xplatform linux-arm-gnueabihf-g++ -qt-zlib -reduce-relocations -no-libpng -no-libjpeg -no-sql-sqlite2 -no-sql-psql -no-sql-mysql -no-sql-odbc -no-sql-oci -no-sql-ibase -no-sql-db2 -no-qml-debug -no-widgets -no-gui -no-opengl -openssl-linked -opensource -confirm-license -v

得到:

arm-linux-gnueabihf-g++ -o libtest.so -shared -Wl,-Bsymbolic-functions -fPIC bsymbolic_functions.c
bsymbolic_functions.c:2:2: error: #error "Symbolic function binding on this architecture may be broken, disabling it (see QTBUG-36129)."
 #error "Symbolic function binding on this architecture may be broken, disabling
  ^
Symbolic function binding disabled.
-reduce-relocations was requested but this compiler does not support it
Re-run configure with -v for more information

错误:QTBUG-36129

有什么解决方法吗?

  • Qt 5.7
  • 主机:Ubuntu 15.10 64 位
  • ARM:Debian GNU/Linux 7 32 位

最佳答案

赛灵思用户 我更改了 cross_compile

gedit /etc/profile

export PATH="$PATH:/opt/petalinux-v2015.4-final/tools/linux-i386/arm-xilinx-gnueabi/bin"

export PATH="$PATH:/opt/Xilinx/SDK/2015.4/gnu/arm/lin/bin/"

#export PATH="$PATH:/usr/local/gcc-linaro-7.2.1-2017.11-x86_64_arm-eabi/bin"
#export PATH="$PATH:/usr/local/gcc-linaro-7.2.1-2017.11-x86_64_arm-eabi/libexec/gcc/arm-eabi/7.2.1"

关于c++ - 如何通过 g++-arm-linux-gnueabihf 为 Arm 构建 Qt?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41150405/

相关文章:

C++ - 在内部,当定义一个类的成员函数时,应该使用成员变量名还是它的 getter 函数?

c++ - C++ 标准是否允许这种浮点行为?

linux - 由于 ZScaler 和证书问题无法使用 docker

visual-studio-2010 - 极简 Qt 构建的推荐标志

c++ - 如何使用 Qt 5 和 XQuery 将一个元素替换为另一个 XML 文件中的元素

c++ - block 级原子写入

c++ - 什么可能会在一台计算机上导致不明确的符号错误,而在另一台计算机上则不会?

linux - 在后台 bash 脚本中启动下标,以便当我关闭终端/ssh session 时它仍然运行

Linux命令行,如何将所有找到的文件移动到上层目录

c++ - 如何始终编译文件?