2017-08-12 146 views
0

我下載臂無-Linux的gnueabi從2011年CodeSourcery的版本,設置後的路徑和配置與此命令Qt 5.8交叉編譯通過arm-none-linux-gnueabi faild?

須藤的./configure \ -opengl ES2 -no-XCB \ - 釋放-silent \ - 繼續\ -opensource -confirm許可證\ -prefix $ DEVICE_PREFIX \ -hostprefix $ HOST_PREFIX \ -sysroot $系統根目錄\ -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支持,所以使用古代編譯器工作的機會受到嚴重限制。

Linaro提供nice toolchains供下載。你有沒有任何理由不使用它?另外,您也可能需要在您的BBB上額外使用一些軟件,因此您可能會使用像Debian這樣的發行版或Buildroot或Yocto等構建工具來生成圖像。 BeagleBone Black是一款主流平臺,提供基本上針對嵌入式平臺的任何支持。

TL; DR版本:更新您的工具鏈或您的構建環境。 Qt不是簡單的庫。