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.

[参考译文] 编译器/TMS320F28377S:错误:符号.. 使用不兼容的类型重新声明:空

Guru**** 2463330 points


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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/672925/compiler-tms320f28377s-error-symbol-redeclared-with-incompatible-type-null

器件型号:TMS320F28377S

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

您好!

我在这篇文章中遇到了完全相同的问题:

https://e2e.ti.com/support/development_tools/compiler/f/343/t/325734

我现在将 CCS 7.4与编译器 TI v17.9.0.STS 搭配使用。 应用程序。

在上述帖子中、问题似乎来自编译器 C6000。

是否计划对编译器 C2000进行校正?

谢谢

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

    问题的原因除其他外、是使用选项--program_level_compile 或-pm 作为缩写。  不再有任何理由使用此选项。  通过使用-opt_level=4选项、您可以获得相同的优化、有时也可以获得更好的优化。  您不会看到这些不兼容类型的问题。  总之、删除-pm 并使用-opt_level=4。

    谢谢、此致、

    乔治

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好
    我在 CCS 项目选项中找不到可以禁用此选项的位置(--pm 或--program_level_compile)。
    它在哪里?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    如果不使用--program_level_compile,则可能会遇到完全不同的问题。  仅构建一个文件时是否会出现此问题?  如果是、请按照文章 如何提交编译器测试用例中的说明提交测试用例。

    谢谢、此致、

    乔治

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

    你好

    我不知道是否使用或不使用此选项。

    我找不到检查的地方! 您能告诉我可以在哪里检查它吗?

    仅当我处于优化级别4时、才会在链接时发生错误。 如果我只编译相关文件、则不会发生错误。

    则您提供的链接不可用。

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

    [报价用户="A GIR]我找不到检查位置! 您能告诉我可以在哪里查看吗?

    我假设您使用 Code Composer Studio 进行构建。  若要查看编译选项对话框、请右键点击工程名称、然后选择显示编译设置。  有关 CCS 工程编译的更多信息、请参阅 CCS 工程和编译手册一文。   

    [引用 user="a GIR"]如果我处于优化级别4,则仅在链接时发生错误。

    在这种情况下、重现问题的唯一方法是提交完整项目。  请按照文章 Project Sharing 中所述对其进行压缩、然后将该 zip 文件附加到您的下一篇文章中。

    谢谢、此致、

    乔治

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

    你好

    我无法传输所有项目!

    然后我提取导致问题的部件、在本例中、不会出现问题...

    我将进行一些检查(多项内容等...)

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

    [报价用户="a GIR"]我无法传输所有项目!

    您是否愿意将其发送给我?

    谢谢、此致、

    乔治

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

    当然、如果我保证任何人都不会广播和使用它、

    我可以通过哪种方式传输它?

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

    将鼠标悬停在我的屏幕名称或头像上。  将弹出一个框。  单击发送私人邮件。  在出现的消息撰写界面中,使用回形针图标附加 zip 文件。

    谢谢、此致、

    乔治

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

    感谢您提交测试案例。  我可以重现问题。  我在 SDOWP 系统中提交了 CodeGen-4605以进行调查。  欢迎您在我的签名中使用下面的 SDOWP 链接进行访问。

    解决方法是不使用任何匿名结构或联合体。  请始终为其命名。  我将私下向您发送有关您的源代码的特定详细信息。

    后来又增加了进一步的澄清. 为避免出现此问题、结构体或联合体必须同时具有标签和名称。  例如...

    struct struct_tag{
    int field1;
    int field2;
    //等
    }struct_name; 

    请注意所有大写字母中的这些语法标记。  为避免这一问题,必须存在这些问题。

    谢谢、此致、

    乔治

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

    您好!

    感谢你的支持。

    我已经应用了由始终命名字段组成的变通办法。

    但奇怪的是、测试时、我删除了项目的所有文件、但有问题的文件和 main.h/.c 除外。

    我还使用一个空白项目测试此结构。

    编译和链接都没有问题。

    那么、我的其他文件中的某个内容会使链接器崩溃...

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

    [引用 user="a GIR"]然后我的其他文件中的某个内容会使链接器崩溃...

    遗憾的是、了解发生了什么情况的唯一方法是您提交测试案例、以便我们复制该案例。  如果您能像以前一样提交一份、我将不胜感激。

    谢谢、此致、

    乔治

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

    因为已经有一段时间了,我想你已经解决了这个问题。  如果您能告诉我们您解决了问题、我将不胜感激。

    谢谢、此致、

    乔治

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

    我似乎向您发送了一个项目、就像您向我询问的那样、但这可能是我的错误。


    然后我通过私人消息将其发送给您

    对于此项目、带 void 名称的结构类型可以正常工作。


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

    [引用 user="a GIR"]然后我通过私人邮件发送给您

    我收到了这个测试用例。  谢谢!

    [引用 user="a GIR"]对于此项目,带有 void 名称的结构类型可以正常工作。

    不幸的是、我一开始误解了您。  现在、我知道您的意思。  您说、在某些情况下、您使用的结构要么没有标签、要么没有名称。  在这种情况下、考虑到报告的错误、您会期望编译失败。  但它成功了。  为什么?

    这是一个合理的问题。 不幸的是、我没有解释。  此时、我们并不知道错误的所有情况。  有时、没有标签或名称的结构会导致问题、有时甚至不会。  显然还有其他情况必须存在,目前还不知道这些情况。  我希望在调查错误的原因时、这一点将变得更加清晰。

    谢谢、此致、

    乔治

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

    好的、

    谢谢,

    然后、我正在等待错误纠正!

    :-)