Ошибка при компиляции Qt для Beagleboard (ARM) - PullRequest
2 голосов
/ 03 декабря 2011

Я пытаюсь скомпилировать Qt для ARM.Я следовал инструкциям здесь и здесь .Я использую последний набор инструментов Angstrom и qt-embedded-linux-opensource-src-4.5.3 и использую Ubuntu 10.10 x86.

Вот шаги, которые я прошёл:

  • Настроил файл qws / linux-arm-g ++ / qmake.conf для моей цепочки инструментов.Вот его содержание:

    #
    # qmake configuration for building with arm-linux-g++
    #
    
    include(../../common/g++.conf)
    include(../../common/linux.conf)
    include(../../common/qws.conf)
    
    # modifications to g++.conf
    QMAKE_CC                = arm-angstrom-linux-gnueabi-gcc
    QMAKE_CXX               = arm-angstrom-linux-gnueabi-g++
    QMAKE_LINK              = arm-angstrom-linux-gnueabi-g++
    QMAKE_LINK_SHLIB        = arm-angstrom-linux-gnueabi-g++
    
    # modifications to linux.conf
    QMAKE_AR                = arm-angstrom-linux-gnueabi-ar cqs
    QMAKE_OBJCOPY           = arm-angstrom-linux-gnueabi-objcopy
    QMAKE_STRIP             = arm-angstrom-linux-gnueabi-strip
    
    load(qt_config)
    
  • Установить мой путь набора инструментов:

    export PATH=/home/olcay/angstrom/arm/bin:$PATH
    
  • Сконфигурировано qt с помощью:

    ./configure -arch arm -little-endian -xplatform qws/linux-arm-g++
    
  • Запустите make.

Во время работы make я получаю эту ошибку:

make[1]: Entering directory `/home/olcay/qt-embedded/src/corelib'
arm-angstrom-linux-gnueabi-g++ -c -pipe -fno-exceptions -O2 -Wall -W -D_REENTRANT -fPIC -DQT_SHARED -DQT_BUILD_CORE_LIB -DQT_NO_USING_NAMESPACE -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT3_SUPPORT -DQT_MOC_COMPAT -DHB_EXPORT=Q_CORE_EXPORT -DQT_NO_DEBUG -I../../mkspecs/qws/linux-arm-g++ -I. -I../../include -I../../include/QtCore -I.rcc/release-shared-emb-arm -Iglobal -I../3rdparty/zlib -I../3rdparty/harfbuzz/src -I.moc/release-shared-emb-arm -o .obj/release-shared-emb-arm/qatomic_arm.o arch/arm/qatomic_arm.cpp
/home/olcay/angstrom/arm/bin/arm-angstrom-linux-gnueabi-g++: 1: ELF: not found
/home/olcay/angstrom/arm/bin/arm-angstrom-linux-gnueabi-g++: 2: Syntax error: word unexpected (expecting ")")
make[1]: *** [.obj/release-shared-emb-arm/qatomic_arm.o] Error 2
make[1]: Leaving directory `/home/olcay/qt-embedded/src/corelib'
make: *** [sub-corelib-make_default-ordered] Error 2

Я также заметил, что во время настройки естьпредупреждение и та же строка ошибки в make:

    The system floating point format could not be detected.
    This may cause data to be generated in a wrong format
    Turn on verbose messaging (-v) to see the final report.
    /home/olcay/angstrom/arm/bin/arm-angstrom-linux-gnueabi-g++: 1: ELF: not found
    /home/olcay/angstrom/arm/bin/arm-angstrom-linux-gnueabi-g++: 2: Syntax error: word unexpected (expecting ")")

И изменение строки конфигурации, как описано @Luca Carlon, не решает проблему.

Пожалуйста, помогите мне!Заранее спасибо.

Ответы [ 2 ]

2 голосов
/ 06 декабря 2011

Я заметил, что я скачал свою цепочку инструментов Angstrom для 64-битной хост-платформы, но я использую 32-битный хост. После загрузки правильной цепочки инструментов мне удалось скомпилировать Qt. И я обнаружил, что при попытке запустить приложение, не предназначенное для вашей архитектуры, возникает ошибка «ELF not found».

0 голосов
/ 03 декабря 2011

Замените -arch arm на -embedded arm и попробуйте еще раз, если вы хотите собрать Qt Embedded.

...