编译 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的主要内容,如果未能解决你的问题,请参考以下文章