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.

[参考译文] DRA829V:如何在 J7 EVM 板上的 PSDK 上支持更高版本的 libstdc++和 libc?

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/999633/dra829v-how-do-i-support-higher-versions-of-libstdc-and-libc-on-the-psdk-on-the-j7-evm-board

器件型号:DRA829V

您好专家,

   我需要通过 J7 EVM 板上的 USB3.0连接 Basler 的摄像头。 Basler 为摄像机提供了驱动程序。 我使用 TI 提供的编译器 gcc-arm-9.2-2019.12-x86_64 Aarch64-no-linuk-GNU。 QT5.14.2已交叉编译。 在摄像头测试程序中、我添加了摄像头库并报告了以下错误:
/home/qkl/ti-processor-sdk-linux-j7-evm-07_01_00_10/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/../lib/gcc/aarch64-none-linux-gnu/9.2.1/../../../../aarch64-none-linux-gnu/bin/ld:/home/qkl/qt_test/BaslerMutiCam/lib/libpylonbase.so:未@对`sTD 的引用:_V2::ERROR_CATEGORY::~ERROR_CATEGORY () GLIBCXX_3.4.21'
/home/qkl/ti-processor-sdk-linux-j7-evm-07_01_00_10/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/../lib/gcc/aarch64-none-linux-gnu/9.2.1/../../../../aarch64-none-linux-gnu/bin/ld:/home/qkl/qt_test/BaslerMutiCam/lib/libpylonbase.so:未定义对`typeinfo for unsigned char const*@CXXABI 1.3的引用


QT 正在 Aarch64目录中寻找 glibc、而不是 x86_64-Arago-Linux 目录中、其中库版本不支持3.4.21。请帮助了解为什么 ti-processor-sdk-linux-j7-evm-07_03_00_05中的 glibc 版本最多只能支持 glibc2.18。 glibc 的 x86_64-Arago-Linux 版本支持 GLIBCXX_3.4.28? 要使 Aarch64中的 glibc 版本支持 GLIBCXX_3.4.28、我需要做什么? 非常感谢您的帮助、谢谢!


请参阅 Aarch64-Linux 目录中的 glibc 支持的版本、如下所示:
root@ubuntu:/home/qkl/ti-processor-sdk-linux-j7-evm-07_03_00_05/linux-devkit/sysroots 字符串 Aarch64-Linux//usr/lib/libstdc++.so.6 | grep glib
glibc_2.17
glibc_2.18
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH

Aarch64-Linux:CXXABI 支持以下版本。 它是空的。 为什么选择?
root@ubuntu:/home/qkl/ti-processor-sdk-linux-j7-evm-07_03_00_05/linux-devkit/sysroots 字符串 Aarch64-Linux//usr/lib/libstdc++.so.6 | grep CXXABI

请参阅 x86_64-Arago-Linux 目录中的 glibc 支持的版本、如下所示:
root@ubuntu:/home/qkl/ti-processor-sdk-linux-j7-evm-07_03_00_05/linux-devkit/sysroots 字符串 x86_64-Arago-Linux//usr/lib/libstdc++.so.6 | grep glib
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13.
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_3.4.20
GLIBCXX_3.4.21
GLIBCXX_3.4.22
GLIBCXX_3.4.23
GLIBCXX_3.4.24
GLIBCXX_3.4.25
GLIBCXX_3.4.26
GLIBCXX_3.4.27
GLIBCXX_3.4.28
glibc_2.2.5
glibc_2.3
glibc_2.14
glibc_2.6
glibc_2.4
glibc_2.18
glibc_2.16
glibc_2.17
glibc_2.3.2
GLIBCXX_DEBUG_MESSAGE_LENGTH
root@Ubuntu:/home/qkl/ti-processor-sdk-linux-j7-evm-07_03_00_05/linux-devkit/sysroots

请参阅 x86_64-Arago-Linux 目录中的 CXXABI 支持的版本,如下所示:
root@ubuntu:/home/qkl/ti-processor-sdk-linux-j7-evm-07_03_00_05/linux-devkit/sysroots 字符串 x86_64-Arago-Linux//usr/lib/libstdc++.so.6 | grep CXXABI
CXXABI 1.3
CXXABI
CXXABI
CXXABI
CXXABI
CXXABI;1.3.5
CXXABI
CXXABI
CXXABI
CXXABI
CXXABI
CXXABI
CXXABI
CXXABI TM
CXXABI_FLOAT128
root@Ubuntu:/home/qkl/ti-processor-sdk-linux-j7-evm-07_03_00_05/linux-devkit/sysroots

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

    您好专家:

       我还注意到一个奇怪的现象:libstdc++.SO.6链接到 x86_64-Arago-Linux 和 Aarch64-Linux 目录中的 libstdc++.SO.6.0.28。为什么 glibc 仍然支持不同的版本?

    此致、

    Emily

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

    您好专家:

      我在 ARM 的官方网站上找到了新版本的编译器(gcc-arm-10.2-2020.11-x86_64 Aarch64-no-linux-gnu.tar)
    ,我发现此版本的编译器没有上述问题,请问现在应该怎么办,
    要解决上述问题、请升级编译器。 我不确定如何执行该操作。或者基于当前编译器的修补程序?
    我不知道。 可以帮帮我吗? 谢谢!

    此致、

    Emily

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

    您好、Emily、

    我可以发表2条意见:

    1. SDK 通过编译器9.2版进行了验证、因此您应该将9.2编译器与此 SDK 一起使用、除非您计划进行全面验证并在您的一侧进行调整。
    2. 关于此问题的修复-我们没有计划修补此编译器。 我请求您在 ARM 编译器论坛上跟进此问题、并尝试使用此地址获取更新的9.2。  

    此致

    Karthik

x 出现错误。请重试或与管理员联系。