2017-08-12 6 views
0

私は \ -release -silent \Qt 5.8 arm-none-linux-gnueabiによってクロスコンパイルが失敗しましたか?

須藤は./configure \ -opengl ES2 -no-XCBこのコマンドで設定したパスと設定した後、CodeSourceryのバージョン2011からアームなし - のlinux-gnueabiをダウンロード - 引き続き\ -opensource -confirm-ライセンス\ -prefix $ DEVICE_PREFIX \ -hostprefix $ HOST_PREFIX \ -sysroot $ SYSTEM_ROOT \ -device $ TARGET_DEVICE \ -device-オプションCROSS_COMPILE = $ {CC} \ -qt- libpng \ -qt-libjpeg \ -nomake examples \ の-nomakeテスト

はこのエラーを取得:

executing config test use_gold_linker + cd /home/amin/EMA/qt-everywhere-opensource-src-5.8.0/qtbase/config.tests && arm-none-linux-gnueabi-g++ -fuse-ld=gold -o conftest-out conftest.cpp cc1plus: error: unrecognized command line option '-fuse-ld=gold' test config.qtbase.tests.use_gold_linker FAILED executing config test verifyspec + cd /home/amin/EMA/qt-everywhere-opensource-src-5.8.0/qtbase/config.tests/common/verifyspec && /home/amin/EMA/qt-everywhere-opensource-src-5.8.0/qtbase/bin/qmake -qtconf /home/amin/EMA/qt-everywhere-opensource-src-5.8.0/qtbase/bin/qt.conf "CONFIG -= qt debug_and_release app_bundle lib_bundle" "CONFIG += static console" "QMAKE_CFLAGS += --sysroot=/" "QMAKE_CXXFLAGS += --sysroot=/" "QMAKE_LFLAGS += --sysroot=/" /home/amin/EMA/qt-everywhere-opensource-src-5.8.0/qtbase/config.tests/common/verifyspec + cd /home/amin/EMA/qt-everywhere-opensource-src-5.8.0/qtbase/config.tests/common/verifyspec && MAKEFLAGS= /usr/bin/make arm-none-linux-gnueabi-g++ -c -pipe -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mthumb -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mthumb -mfloat-abi=softfp --sysroot=/ -O2 -O3 -Wall -W -fPIC -I. -I/home/amin/EMA/qt-everywhere-opensource-src-5.8.0/qtbase/mkspecs/devices/linux-beagleboard-g++ -o verifyspec.o verifyspec.cpp arm-none-linux-gnueabi-g++ -mfloat-abi=softfp --sysroot=/ -Wl,-O1 -o verifyspec verifyspec.o -lrt -lpthread -ldl /home/amin/CodeSourcery/Sourcery_CodeBench_Lite_for_ARM_GNU_Linux/bin/../lib/gcc/arm-none-linux-gnueabi/4.6.1/../../../../arm-none-linux-gnueabi/bin/ld: cannot find crt1.o: No such file or directory /home/amin/CodeSourcery/Sourcery_CodeBench_Lite_for_ARM_GNU_Linux/bin/../lib/gcc/arm-none-linux-gnueabi/4.6.1/../../../../arm-none-linux-gnueabi/bin/ld: cannot find crti.o: No such file or directory /home/amin/CodeSourcery/Sourcery_CodeBench_Lite_for_ARM_GNU_Linux/bin/../lib/gcc/arm-none-linux-gnueabi/4.6.1/../../../../arm-none-linux-gnueabi/bin/ld: cannot find -lrt /home/amin/CodeSourcery/Sourcery_CodeBench_Lite_for_ARM_GNU_Linux/bin/../lib/gcc/arm-none-linux-gnueabi/4.6.1/../../../../arm-none-linux-gnueabi/bin/ld: cannot find -lpthread /home/amin/CodeSourcery/Sourcery_CodeBench_Lite_for_ARM_GNU_Linux/bin/../lib/gcc/arm-none-linux-gnueabi/4.6.1/../../../../arm-none-linux-gnueabi/bin/ld: cannot find -ldl /home/amin/CodeSourcery/Sourcery_CodeBench_Lite_for_ARM_GNU_Linux/bin/../lib/gcc/arm-none-linux-gnueabi/4.6.1/../../../../arm-none-linux-gnueabi/bin/ld: cannot find -lstdc++ /home/amin/CodeSourcery/Sourcery_CodeBench_Lite_for_ARM_GNU_Linux/bin/../lib/gcc/arm-none-linux-gnueabi/4.6.1/../../../../arm-none-linux-gnueabi/bin/ld: cannot find -lm /home/amin/CodeSourcery/Sourcery_CodeBench_Lite_for_ARM_GNU_Linux/bin/../lib/gcc/arm-none-linux-gnueabi/4.6.1/../../../../arm-none-linux-gnueabi/bin/ld: cannot find -lgcc_s /home/amin/CodeSourcery/Sourcery_CodeBench_Lite_for_ARM_GNU_Linux/bin/../lib/gcc/arm-none-linux-gnueabi/4.6.1/../../../../arm-none-linux-gnueabi/bin/ld: cannot find -lc /home/amin/CodeSourcery/Sourcery_CodeBench_Lite_for_ARM_GNU_Linux/bin/../lib/gcc/arm-none-linux-gnueabi/4.6.1/../../../../arm-none-linux-gnueabi/bin/ld: cannot find -lgcc_s /home/amin/CodeSourcery/Sourcery_CodeBench_Lite_for_ARM_GNU_Linux/bin/../lib/gcc/arm-none-linux-gnueabi/4.6.1/../../../../arm-none-linux-gnueabi/bin/ld: cannot find crtn.o: No such file or directory collect2: ld returned 1 exit status Makefile:64: recipe for target 'verifyspec' failed make: *** [verifyspec] Error 1

答えて

0

あなたのコンパイルログは、それはしかし、コマンドが見つかりませんでした、goldリンカを使用しようとしていたことを示しています。ライブラリやオブジェクトファイルが見つからないという後のエラーはおそらくこのエラーに起因します。

goldはGNUツールチェーンに比較的最近追加されたものです。かなり古いバージョン(gcc 4.6.1)を使用していますので、あなたのツールチェーンを最新のものにアップグレードすることをお勧めします。そうするために。

+0

ありがとう、私は金のリンカーを無効にしようとするが、私は成功しなかった – Amin

0

ツールチェーンの選択に関しては、Qtはかなり意見があります。 list of supported compilersにはGCC 4.6に基づくものは含まれていません。 Qtが最近C++ 11のサポートを必要としていることを考えると、古代コンパイラでこれを動作させる可能性は厳しく制限されています。

リナロはダウンロードのためにnice toolchainsを提供しています。あなたが1つを使用していない理由はありますか?また、BBBにいくつかの追加SWが必要になる可能性もあるので、Debianのようなディストリビューションや、BuildrootやYoctoのようなビルドツールを使ってイメージを作成する可能性があります。 BeagleBone Blackは、組み込みプラットフォームをターゲットとするものが本質的に提供されることをサポートする主流のプラットフォームです。

A TL; DRバージョン:ツールチェーンまたはビルド環境を更新します。 Qtは単純なライブラリではありません。

関連する問題