Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
配置从源代码编译的Qt5时出错_Qt_Cross Compiling - Fatal编程技术网

配置从源代码编译的Qt5时出错

配置从源代码编译的Qt5时出错,qt,cross-compiling,Qt,Cross Compiling,我试图使用qt-everywhere-opensource-src-5.9.6.tar.xz文件从源代码编译Qt5。我提取文件,并创建以下qmake.conf: # # qmake configuration for building with arm-linux-gnueabi-g++ # MAKEFILE_GENERATOR = UNIX TARGET_PLATFORM = unix TEMPLATE = app CONFIG

我试图使用
qt-everywhere-opensource-src-5.9.6.tar.xz
文件从源代码编译Qt5。我提取文件,并创建以下
qmake.conf

#
# qmake configuration for building with arm-linux-gnueabi-g++
#

MAKEFILE_GENERATOR      = UNIX
TARGET_PLATFORM         = unix
TEMPLATE                = app
CONFIG                  += qt warn_on release incremental link_prl gdb_dwarf_index
QT                      += core gui
QMAKE_INCREMENTAL_STYLE = sublib

include(../common/linux.conf)
include(../common/gcc-base-unix.conf)
include(../common/g++-unix.conf)
include(../../common/qws.conf)

# Compiler Flags to take advantage of the ARM architecture
QMAKE_CFLAGS_RELEASE = -O3 -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=hard
QMAKE_CXXFLAGS_RELEASE = -O3 -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=hard

# modifications to g++.conf
QMAKE_CC                = /{homedir}/gcc-linaro-7.3.1-2018.05-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc
QMAKE_CXX               = /{homedir}/gcc-linaro-7.3.1-2018.05-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++
QMAKE_LINK              = /{homedir}/gcc-linaro-7.3.1-2018.05-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++
QMAKE_LINK_SHLIB        = /{homedir}/gcc-linaro-7.3.1-2018.05-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++

# modifications to linux.conf
QMAKE_AR                = /{homedir}/gcc-linaro-7.3.1-2018.05-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabi-ar cqs
QMAKE_OBJCOPY           = /{homedir}/gcc-linaro-7.3.1-2018.05-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabi-objcopy
QMAKE_STRIP             = /{homedir}/gcc-linaro-7.3.1-2018.05-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabi-strip

load(qt_config)
接下来,我进入提取的qt文件夹并使用以下参数调用
/configure

./configure -v -opensource -confirm-license -prefix /{homedir}/qt-everywhere-opensource-src-5.9.6 -xplatform linux-arm-gnueabihf-g++ -embedded arm -little-endian -host-little-endian -no-qt3support -nomake demos -nomake examples -qt-gfx-linuxfb -qt-gfx-qvfb -qt-gfx-vnc -no-accessibility
它运行了一段时间,然后向我抛出以下错误:

Info: creating super cache file /{homedir}/qt-everywhere-opensource-src-5.9.6/.qmake.super
ERROR: Invalid command line parameter 'arm'.

这是因为
-embedded arm
选项吗?我看到很多页面都在使用它,所以我不知道为什么会出现这个错误。请提供帮助。

您可能看到了如何交叉编译Qt4的示例。Qt4有“-embedded arm”选项,但Qt5没有。

您是为哪台设备编译的?@Felix,它是BBB,是一种arm芯片。此wiki条目适用于树莓,但配置命令行(步骤10)应该适用于您的设备,并进行一些调整。试试那个,找出缺少的参数。