我想编译ARM设备的Qt程序。无法编译用于ARM设备的Qt程序
我安装了ARM的工具链,这里是我的qmake.conf文件看起来像:
#
# qmake configuration for building with arm-none-linux-gnueabi-g++
#
include(../../common/linux.conf)
include(../../common/gcc-base-unix.conf)
include(../../common/g++-unix.conf)
include(../../common/qws.conf)
# modifications to g++.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_CFLAGS += -O3 -march=armv5te
QMAKE_CXXFLAGS += -O3 -march=armv5te
QMAKE_INCDIR_QT = /opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi/include
QMAKE_INCDIR_QT = /usr/share/qt4/include
QMAKE_LIBDIR_QT = /opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi/lib
# modifications to linux.conf
QMAKE_AR = arm-linux-gnueabi-ar cqs
QMAKE_OBJCOPY = arm-linux-gnueabi-objcopy
QMAKE_STRIP = arm-linux-gnueabi-strip
load(qt_config)
的问题是,如果我有(如上图所示):
QMAKE_INCDIR_QT = /opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi/include
QMAKE_INCDIR_QT = /usr/share/qt4/include
QMAKE_LIBDIR_QT = /opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi/lib
我得到一个错误,指出:
main.cpp:1:30: fatal error: QtGui/QApplication: No such file or directory
如果我排除:
QMAKE_INCDIR_QT = /opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi/include
QMAKE_LIBDIR_QT = /opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi/lib
我得到一个错误,指出:
/usr/include/qt4/QtCore/qatomic_x86_64.h:133:29: error: impossible constraint in ‘asm’
我是新来这个和这个星期一直在努力了40个小时,并不能找到什么问题。
我可以为ARM设备编译一个简单的C++程序,但是当我尝试使用Qt时,我得到了上述错误,所以我认为问题出在一种情况下,Qt头文件没有加载,使用从C++到asm的错误转换器文件。
你为什么不使用现有的规格? Qt本身是否支持某些特定的ARM?您是否尝试过'qmake -spec linux-arm-gnueabi-g ++'而不使用您的自定义ARM设置? – lpapp
感谢您的回复。这没什么特别,但是我发现我应该编译这些,所以我就是这么做的。 –
试着放下你的工作,并使用内置的qmake mkspecs支持它。让我知道这个试验的结果。 – lpapp