0

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

どうしたの?

4

2 に答える 2

0

「ルート」として実行します。ファイルを作成する権限がないようです。

于 2013-03-18T17:04:21.183 に答える
0

申し訳ありませんが、答えを見つけましたが、投稿するのを忘れてしまいました。この問題は、正しくない moc インストールに関連しています。私はすでにすべての「ルート」権限を持っています。サポートしてくれてありがとう

于 2013-03-19T08:33:12.920 に答える