编译 Qt 嵌入式熊猫板时出错:[.moc/release-shared-emb-arm/moc_qabstractanimation.cpp] 错误 1

Posted

技术标签:

【中文标题】编译 Qt 嵌入式熊猫板时出错:[.moc/release-shared-emb-arm/moc_qabstractanimation.cpp] 错误 1【英文标题】:Error compiling Qt embedded pandaboard: [.moc/release-shared-emb-arm/moc_qabstractanimation.cpp] Error 1 【发布时间】:2013-01-18 16:02:40 【问题描述】:

我正在尝试为 pandaboard (OMAP4, 4430) 编译嵌入的 Qt。 我为 armv7 安装了这个交叉编译器:

sudo apt-get install g++-4.6-arm-linux-gnueabihf

我下载了最后一个 qt-embedded 源并将它们解压缩到文件夹中:

/opt/qt-everywhere-opensource-src-4.6.4

我复制了配置文件:

cp -r mkspecs/qws/linux-arm-gnueabi-g++ mkspecs/qws/linux-arm-gnueabihf-g++

我修改了 mkspecs/qws/linux-arm-gnueabihf-g++/qmake.conf 如下:

include(../../common/g++.conf)
include(../../common/linux.conf)
include(../../common/qws.conf)

#Compiler Flags to take advantage of the ARM architecture
#N.B.:I also tried to uncomment the two following instructions with no success   
QMAKE_CFLAGS = -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp
QMAKE_CXXFLAGS = -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp

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

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

load(qt_config)

我运行了配置:

./configure -embedded arm -little-endian -no-qt3support -nomake examples -nomake demos -opensource -confirm-license -xplatform qws/linux-arm-gnueabihf-g++

当然,用 make 命令编译会失败:

make[1]: Entering directory `/opt/qt-everywhere-opensource-src-4.6.4/src/corelib'
/opt/qt-everywhere-opensource-src-4.6.4/bin/moc -DQT_SHARED -DQT_BUILD_CORE_LIB -DQT_NO_USING_NAMESPACE -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DHB_EXPORT=Q_CORE_EXPORT -DQT_NO_DEBUG -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I../../mkspecs/qws/linux-arm-gnueabihf-g++ -I. -I../../include -I../../include/QtCore -I.rcc/release-shared-emb-arm -Iglobal -I../3rdparty/zlib -I../3rdparty/harfbuzz/src -I../3rdparty/md5 -I../3rdparty/md4 -I.moc/release-shared-emb-arm animation/qabstractanimation.h -o .moc/release-shared-emb-arm/moc_qabstractanimation.cpp
moc: Cannot create .moc/release-shared-emb-arm/moc_qabstractanimation.cpp
make[1]: *** [.moc/release-shared-emb-arm/moc_qabstractanimation.cpp] Error 1
make[1]: Leaving directory `/opt/qt-everywhere-opensource-src-4.6.4/src/corelib'
make: *** [sub-corelib-make_default-ordered] Error 2

怎么了?

【问题讨论】:

【参考方案1】:

以“根”的身份进行。 好像你没有创建文件的权限。

【讨论】:

对不起,我找到了答案,我已经忘记发布它了。该问题与不正确的 moc 安装有关。我已经拥有所有“root”特权。 Hawever 感谢您的支持。【参考方案2】:

对不起,我找到了答案,我已经忘记发布它。该问题与不正确的 moc 安装有关。我已经拥有所有“root”权限。感谢大家的支持

【讨论】:

嗨 aldo85ita,我正在尝试为 Panda 进行交叉编译,但没办法,我按照你的步骤操作,但 ./configure 退出并出现错误“你没有明确要求使用 pkg-config 并且是交叉编译编译。pkg-config 将不会用于自动查询 cflag/lib 参数的依赖关系,无法检测到主机系统字节顺序!”。你能给我一个更详细的解释或一个链接,我可以在其中看到分步说明。谢谢你。我已经做了一个新问题***.com/questions/19059596/…

以上是关于编译 Qt 嵌入式熊猫板时出错:[.moc/release-shared-emb-arm/moc_qabstractanimation.cpp] 错误 1的主要内容,如果未能解决你的问题,请参考以下文章

为 ARM 交叉编译 Qt 时出错

Qt问题1:编译出错,退出代码2

qt编译出错 环境变量添加过了,可还是出错,好像是库的问题

如何在 QT Creator 开源版本中为嵌入式 linux 交叉编译 qt

为树莓派 pi3 交叉编译 Qt 时出错

qt creator的一个项目配置成release编译出错问题