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.

[参考译文] 编译器:多个"警告#10247-D"与 C++库链接 TI-RTOS 程序时出现问题

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/819038/compiler-multiple-warning-10247-d-problems-with-linking-ti-rtos-program-against-c-library

工具/软件:TI C/C++编译器

当使用 Out C++ libary 链接 TI-RTOS 工程时、我们会得到多个"警告#10247-D:创建输出段".text"。 "没有章节规范"警告-大约1400

警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".text._ZNSt6vectorI11ExtendGraphSaIS0_EE9push_backEOS0_"
警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".text._ZNSt6vectorI11ExtendGraphSaIS0_EE2atEj"
警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".text_ZSt4moveIR11ExtendGraphEONSt16remove_referenceIT_E4typeEOS3_"
警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".text._ZNSt6vectorI11ExtendGraphSaIS0_EE12emplace _backIJS0_EEEvDpOT_"
警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".text._ZNKSt6vectorI11ExtendGraphSaIS0_EE14_M_RANGE_checkEj"
警告#10247-D:在没有 SECTIONS 规范的情况下创建输出段".text._ZNSt6vectorI11ExtendGraphSaIS0_EEixEj"

我们使用以下 C++标志:-mcpu=cortex-M4 -mfloat-abi=hard -std=c++0x -mfpu=fpv4-sp-D16 -fno-exceptions

和以下链接器标志:--specs=nan.specs --specs=nosy.specs

构建库[使用 ARM GCC 工具链]

尝试将 TI 编译器/链接器选项-gen_func_subsections=on 更改为 off、但没有任何变化

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

    您好、user6096512、

    您能否提供有关您正在使用的 DSP、哪个 TI-RTOS 版本以及哪个示例尝试构建或创建新项目的更多详细信息?

    此致、
    Tsvetolin Shulev

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

    你好,Tsvetolin Shulev,

    我们使用 CC1352R1午餐板、作为基准、我们使用 SimpleLink SDK 2.3中修改的"Mailbox"项目。 我们正在链接我们的库并执行一项任务以进行测试。

    此致、
    Przemyslaw Stawczyk

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

    这是否意味着您使用 CC1352R1的修订版 C? 在这种情况下、请将您的硬件和软件更新为最新版本、因为修订版 C 是预发布版本、在修订版 E (发布版本)推出时不再支持。  

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

    是的、我尝试了与 CC1312R1修订版 E 和最新 SDK (3.1)基本相同的方法、并获得了相同的结果。 多节警告。

    是否有任何将外部库链接到 CCS 中项目的设计方法? [如何构建和链接库和项目]

    我在编译工程时附加了控制台的部分输出。

    e2e.ti.com/.../2806.warnings.txt

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

    是的、我尝试了与 CC1312R1修订版 E 和最新 SDK (3.1)基本相同的方法、并获得了相同的结果。 多节警告。

    是否有任何将外部库链接到 CCS 中项目的设计方法? [如何构建和链接库和项目]

    我在编译工程时附加了控制台的部分输出。

    e2e.ti.com/.../1362.warnings.txt

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

    -读取链接器文件该操作应该起作用:

    .text:{
    create_object_symbols
    *(.text)
    *(.text.*)
    。 =对齐(0x4);
    保留(*(.ctors))
    。 =对齐(0x4);
    保留(*(.ditors))
    。 =对齐(0x4);
    __init_array_start =.;
    保留(*(.init_array*))
    __init_array_end =.;
    *(.init)
    *(.fini*)
    } > region_text at > region_text 

    -您是否检查生成的.map 文件以查看这些对象的放置位置?  

    -您是否能够使用不同的工具链(不同的链接器文件)进行测试、以查看您是否获得不同的结果? 如果这样做、则可以指示链接器文件中可以更改的内容。  

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

    当我将您的指令添加到链接器文件时、我遇到了以下错误

    e2e.ti.com/.../8508.errors.txt

    但是、当我仅使用时:

    .text:{
    *(.text)
    *(.text.*)
    }>> FLASH 

    我获得了成功的编译、没有错误或警告