Я пытаюсь некоторое время скомпилировать Qt для Beaglebord (ARM) и запустить какое-то базовое приложение с графическим интерфейсом Hello Word. Я собрал Qt для кросс-компиляции с некоторыми ошибками и предупреждениями, упомянутыми ниже, и настроил свой Qt Creator для работы с моей цепочкой инструментов кросс-компиляции. И я создал простой проект Qt GUI, но когда я пытаюсь создать свой проект, я получаю следующие ошибки:
:-1: error: skipping incompatible /usr/local/Trolltech/QtEmbedded-4.7.4-generic/lib/libQtGui.so when searching for -lQtGui
:-1: error: skipping incompatible /usr/local/Trolltech/QtEmbedded-4.7.4-generic/lib/libQtGui.so when searching for -lQtGui
:-1: error: cannot find -lQtGui
:-1: error: skipping incompatible /usr/local/Trolltech/QtEmbedded-4.7.4-generic/lib/libQtNetwork.so when searching for -lQtNetwork
:-1: error: skipping incompatible /usr/local/Trolltech/QtEmbedded-4.7.4-generic/lib/libQtNetwork.so when searching for -lQtNetwork
:-1: error: cannot find -lQtNetwork
:-1: error: skipping incompatible /usr/local/Trolltech/QtEmbedded-4.7.4-generic/lib/libQtCore.so when searching for -lQtCore
:-1: error: skipping incompatible /usr/local/Trolltech/QtEmbedded-4.7.4-generic/lib/libQtCore.so when searching for -lQtCore
:-1: error: cannot find -lQtCore
:-1: error: collect2: ld returned 1 exit status
Кроме того, в элементе списка Qt Creator->Options->Qt4 Qt Versions есть желтый значок предупреждения:
Я использую Ubuntu 10.10 x86 и последнюю цепочку инструментов Angstrom. Я использовал онлайн-конструктор Angstrom для создания своей цепочки инструментов. Я установил свой Qt Creator с последним автономным Qt SDK v4.7.4. После этого я загрузил исходный код Qt qt-everywhere-opensource-src-4.7.4.zip и настроил его, как показано ниже:
Изменено qws/linux-arm-gnueabi-g++/qmake.conf следующим образом:
#
# qmake configuration for building with arm-none-linux-gnueabi-g++
#
include(../../common/g++.conf)
include(../../common/linux.conf)
include(../../common/qws.conf)
# modifications to g++.conf
QMAKE_CC = /home/olcay/armx86/bin/arm-angstrom-linux-gnueabi-gcc
QMAKE_CXX = /home/olcay/armx86/bin/arm-angstrom-linux-gnueabi-g++
QMAKE_LINK = /home/olcay/armx86/bin/arm-angstrom-linux-gnueabi-g++
QMAKE_LINK_SHLIB = /home/olcay/armx86/bin/arm-angstrom-linux-gnueabi-g++
# modifications to linux.conf
QMAKE_AR = /home/olcay/armx86/bin/arm-angstrom-linux-gnueabi-ar cqs
QMAKE_OBJCOPY = /home/olcay/armx86/bin/arm-angstrom-linux-gnueabi-objcopy
QMAKE_STRIP = /home/olcay/armx86/bin/arm-angstrom-linux-gnueabi-strip
load(qt_config)
Настроил Qt со следующими настройками:
./configure
-embedded armv7
-little-endian
-xplatform qws/linux-arm-gnueabi-g++
-qt-gfx-linuxfb
-qt-gfx-vnc
-largefile
-no-accessibility
-no-qt3support
-no-sse2
-qt-libpng
-qt-libjpeg
-no-cups
-no-libtiff
-nowebkit
-qt-zlib
-nomake examples
-nomake demos
-opensource
-confirm-license
-no-fast
-multimedia
-optimized-qmake
Вот мой консольный вывод для сценария конфигурации.
Как вы можете видеть в файле configure, есть только древовидные предупреждения:
for /home/olcay/qt-everywhere-opensource-src-4.7.4/src/3rdparty/webkit/WebKit/qt/tests/hybridPixmap/hybridPixmap.pro
WARNING: Failure to find: hybridPixmap.cpp
for /home/olcay/qt-everywhere-opensource-src-4.7.4/src/3rdparty/webkit/WebKit/qt/tests/benchmarks/loading/loading.pro
WARNING: Failure to find: loading.cpp
for /home/olcay/qt-everywhere-opensource-src-4.7.4/src/3rdparty/webkit/WebKit/qt/tests/benchmarks/painting/painting.pro
WARNING: Failure to find: painting.cpp
Также есть предупреждение о формате с плавающей запятой:
The system floating point format could not be detected.
This may cause data to be generated in a wrong format
Пожалуйста, помогите мне узнать проблему. Заранее спасибо.
ОБНОВЛЕНИЕ 1
Если вы ранее читали этот вопрос, я изменил свою конфигурацию, перекомпилировал и установил Qt и обновил свой вопрос на основе новой конфигурации и новых результатов. Это позволяет мне избавиться от ошибок установки, но основная проблема все еще не решена.
ОБНОВЛЕНИЕ 2
Я заметил, что Qt Creator вызывает qmake для linux-g++-32, а не для qws/linux-arm-gnueabi-g++, поэтому я изменил linux -g++-32/qmake.conf с необходимыми настройками. Теперь я могу создать свое приложение. Но у меня еще нет тестового бинарного приложения, потому что я сейчас дома. Я проверю свое приложение и опубликую результаты здесь завтра.