This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] DM8168/AM389x 上的 Linux的 μ C/TMS320DM8168:Qt5交叉编译器

Guru**** 2578945 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/627992/linux-tms320dm8168-qt5-cross-complier-on-dm8168-am389x

我   ,使用 Qt5/QML Δ Σ 实现的 GUI 控制系统、因此必须在 DM8168/AM398x 上交叉编译 qt5源代码。

工具链:  arm-arago-linux-gnueabi (gcc 版本4.5.3 20110311 (预发布版本)(GCC) )

根文件系统: nfs_DM816x_TI_EVM.tar.lzma --Linux EZ 软件开发套件(EZSDK)(用于 DM814x 和 DM816x)- alpha(2012)

Qt --configs:

ROOTFS_PATH =/opt/DVRRDK_04.00.00.03/target/rfs
toolchain_prefix =/opt/DVRRDK_04.00.00.03/ti_tools/cgt_a8/arago/linux-devkit/bin/arm-arago-linux-gnueabi
SGX_SDK_ROOT =/home/wangbi/workdir_project/workdir_Qt/SGX530/Graphics_SDK_5_01_01_02/Graphics_SDK_5_01_01_02
arm_arago_linux_path=$${ROOTFS_path}/../../ti_tools/cgt_a8/arago/linux-devkit/arm-arago-linux-gnueabi


#在此处更改所需路径
Qmake_INCDIR =\
$${ROOTFS_PATH}/usr/include \
$${ROOTFS_PATH}/usr/include/libxml2 /\
$${ROOTFS_PATH}/usr/include/freetype2  

qmake_LIBDIR +=$${ROOTFS_PATH}/usr/lib

qmake_INCDIR_OpenGL_ES2 =$${SGX_SDK_ROOT}/include/OGLES2
qmake_LIBDIR_OpenGL_ES2 =$${SGX_SDK_ROOT}/gfx_rel_ES6.x
qmake_INCDIR_EGL =${qmake_INCDIR_OpenGL_ES2}
qmake_LIBDIR_EGL =${qmake_LIBDIR_OpenGL_ES2}
qmake_LIBDIR +=$${qmake_LIBDIR_OpenGL_ES2}

#库
#qmake_libs =-lxml2 -lz -LTS -lasound -lfreetype -lexpat -lfontconfig -lpng -lpthread \
#-wl、-rpath-link=$${arm_arago_linux_path}/lib \
#-wl、-rpath-link=$${ROOTFS_PATH}/usr/lib

qmake_libs_OpenGL_ES2 =-lEGL -lIMGegl -lGLESv2 -lGLES_CM
qmake_libs_EGL =${qmake_libs_OpenGL_ES2}
qmake_libs_thread =-lpthread


# dbus-1.0
Qmake_INCDIR +=/usr/include/dbus-1.0
qmake_inCDIR +=${arm_arago_linux_path}/usr/lib/dbus-1.0/include
# glib-2.0
qmake_inCDIR +=${arm_arago_linux_path}/usr/include/glib-2.0
qmake_inCDIR +=${arm_arago_linux_path}/usr/lib/glib-2.0/include
# gstreamer-0.10
qmake_inCDIR +=${arm_arago_linux_path}/usr/include/gstreamer-0.10
# libxml2.
qmake_inCDIR +=${arm_arago_linux_path}/usr/include/libxml2
# freetype2
qmake_inCDIR +=${arm_arago_linux_path}/usr/include/freetype2
qmake_LIBDIR +=${arm_arago_linux_path}/usr/lib
#qmake_LFLAGS +="-wl、-rpath-link=$${arm_arago_linux_path}/usr/lib -dbus-1 -lglib-2.0 -lgthread-2.0 -lpulse -lpulthe-mainloop-glib"

qmake_CFLAGS_release =-O3 -March = armv7-a -mfpu = neon -mfloat-abi=softfp

qmake_CXXFLAGS_RELEASE =$qmake_CFLAGS_RELEASE

qmake_CC =$${toolchain_prefix}-gcc
qmake_CXX =$${toolchain_prefix}-g++
qmake_link =$${qmake_CXX}
qmake_link_SHLIB =${qmake_CXX}

qmake_ar =$${toolchain_prefix}-ar cq
qmake_objcopy =$${toolchain_prefix}-objcopy
qmake_strip =$${toolchain_prefix}-strip

负载(qt_config)

然后 出现错误:  

+ CD qtbase
+/home/wangbi/workdir_project/workdir_Qt/Qt5.9.1/qt-everywhere-opensource-src-5.9.1/qtbase/configure -top -level -v -opensource -confirme-license -device-option cross_compile=/opt/DVRRDK_04.00.00.03/ti_tools/cgt_a8/arago/linux-devkit/bin/arm-arago-linux-gnueabi--device linux-arm-gnueabi-ti-g++-prefix /usr/local/qt5 -extprefix /home/wangbi/workdir_project/workdir_Qt/Qt5.9.1/qt5 -hostprefix /home/wangbi/workdir_project/workdir_Qt/Qt5.9.1/qt5-host -nomake examples -nomake tests -OpenGL ES2 -no-xcb -sysroot /opt/DVRRDK_04.00.00.03/target/rfs
正在创建 qmake...
制造:"第一"不需要做任何事情。
命令行:-v -opensource -confirm-license -device-option cross_compile=/opt/DVRRDK_04.00.00.03/ti_tools/cgt_a8/arago/linux-devkit/bin/arm-arago-linux-gnueabi--device linux-arm-gnueabi-ti-g++-prefix /usr/local/qt5 -extprefix /home/wangbi/workdir_project/workdir_Qt/Qt5.9.1/qt5 -hostprefix /home/wangbi/workdir_project/workdir_Qt/Qt5.9.1/qt5-host -nomake examples -nomake tests -OpenGL ES2 -no-xcb -sysroot /opt/DVRRDK_04.00.00.03/target/rfs

这是 Qt 开源版本。

您已接受开源许可证的条款。

正在运行配置测试...
正在检查有效的 makespec ...  
+ CD /home/wangbi/workdir_project/workdir_Qt/Qt5.9.1/qt-everywhere-opensource-src-5.9.1/config.tests/common/verifyspec &&/home/wangbi/workdir_project/workdir_Qt/Qt5.9.1/qt-everywhere-opensource-src-5.9.1/qtbase/bin/qmake /opt/DVRRDK_04.00.00.03/target/rfs "config -= qt debug_and_release app_bundle lib_bundle""config +=共享控制台 single_arch""qmake_CFLAGS +=---syssroot=/opt/DVRRDK_04.00.00.03/target/rfs "qmake_CXXFLAGS +=-sysroot=/opt/DVRRDK_04.00.00.03/target/rfs "qmake_LFLAGS +=-sysroot=/home/wangbi/workdir_project/workdir_Qt/Qt5.9.1/qt-everywhere-opensource-src-5.9.1/qtbase/config.tests/common/verifyspec -sysbearne.com "-sysroot=
+ CD /home/wangbi/workdir_project/workdir_Qt/Qt5.9.1/qt-everywhere-opensource-src-5.9.1/config.tests/common/verifyspec && MAKEFLAGS=/usr/bin/make Clean && MAKEFLAGS=/usr/bin/make
>rm -f verifyspec.o
> rm -f *~ core *。core
>/opt/DVRRDK_04.00.00.03/ti_tools/cgt_a8/arago/linux-devkit/bin/arm-arago-linux-gnueabi-g ++-c -pipe --sysroot=/opt/DVRRDK_04.00.00.03/target/rfs --sysroot=/opt/DVRRDK_04.00.00.03/target/rfs -O3 -March =armv7-a -mfpu=neon -mfloat-abi=softfp -std=GNU+++11 -Wall -W -FPIC -I/home/wangbi/workdir_project/workdir_qt/qtens/qt.pr-pric/pric/pric-pric/pric/pric-pric/pric/pric-pric/pric/price-pric/pric/pric/price-pric/pric/pric/ i/opt/dvrRDK_04.00.03/TARGET/RFS/include -I/OPT/DVRRDK_04.00.00.03/TARGET/RFS/include/libusr 2/-I/OPT/DVRRDK_04.00.0USR/TARGET/INCLUDE/INCLUDE/INCLUDE/ARESD/08/INTOOLS/IN_INEST/R-081/ARM/INURAM/FR4ARM/ING_INES/ING_ING_INESU/INESU/ING_ING_INESU/INESU/ING_ING_INCLUD-01/ING_ING_ING_ING_INCLUD-08E/ING_ING_ING_ING_ING_INCLUDE/ING_ING_ING_ING_INEST/R1.0/ING_ING_INCLUDE/DRVE/INE/ADR1.0/ING_ING_ING_ING_ING_INCLUDE/INEST/ING_ING_ING_ING_ING_INEST/INEST/INE/INEST/INE/INE/INE/ING_ING_INCLUDE/ADR1.0/INE/INEST/IN /home/wangbi/workdir_project/workdir_Qt/Qt5.9.1/qt-everywhere-opensource-src-5.9.1/qtbase/config.tests/common/verifyspec/verifyspec.cpp /opt/DVRRDK_04.00.00.03/ti_tools/cgt_a8/arago/linux-devkit/arm-arago-linux-gnueabi/usr/include/freetype2 /opt/DVRRDK_04.00.00.03/ti_tools/cgt_a8/arago/linux-devkit/arm-arago-linux-gnueabi/usr/include/libxml2 /opt/DVRRDK_04.00.00.03/ti_tools/cgt_a8/arago/linux-devkit/arm-arago-linux-gnueabi/usr/include/gstreamer-0.10 /opt/DVRRDK_04.00.00.03/ti_tools/cgt_a8/arago/linux-devkit/arm-arago-linux-gnueabi/usr/include/glib-2.0
>cc1plus:错误:无法识别的命令行选项"-std=GNU++11"
> Makefile:176:目标'vriyspec.o'的配方失败
> make:***[verifyspo.o]错误1.
注意:也可用于 Linux:linux-clang linux-icc

错误:无法编译最小程序。 工具链或 QMakeSpec 已损坏。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    您可以参阅以下链接、了解如何为 TI 电路板构建 QT。
    processors.wiki.ti.com/.../Building_Qt

    此致、
    普拉什兰特
    Pathpartner Technology Pvt. Ltd.
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您能告诉我工具链'arm_linux_gnueabihf'的路径 吗?

    我认为 我的工具链很旧  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    请从以下路径下载工具链:

    https://releases.linaro.org/components/toolchain/binaries/6.2-2016.11/arm-linux-gnueabihf/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf.tar.xz

    此致、
    普拉什兰特
    Pathpartner Technology Pvt. Ltd.
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,

    工具链名称中的 HF postfix 表示硬件浮点编译器。 HW 浮点编译程序不会与软件浮点编译程序一起运行。 我建议您使用 SDK/RDK 的工具链部分。

    构建步骤不应与工具链不同、因为两者都是 GNU 工具链。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢,我的根文件系统和 SDK/RDK 已经使用 ARM-ARAG-Linux-gnueabi (2011.09),但是工具链 Arago 似乎不支持“GNU++11,并且没有更新。
    因此、我必须更改工具链以构建 Qt5.9
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的用户4859757:

    查看以下 e2e 线程是否将提供帮助:

    e2e.ti.com/.../2273026

    此致、
    帕维尔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢、
    但我需要解决错误"error:unrecognized command line option "-std=GNU++11"。
    我的工具链 ARM-ARGA-LINUX-gnueabi 可以支持"GNU++11"?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    否、ARM-Arago-Linux-gnueabi (Arago 2011.09)工具链不支持 GNU++11和 c++11。 GCC 4.8.1及更高版本支持 GNU++11/c++11、而 ARM-Arago-Linux-gnueabi 基于 GCC 4.5.3

    此致、
    帕维尔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢!