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.

[参考译文] 编译器/TMDXSK437X:多个定义错误

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/642176/compiler-tmdxsk437x-multiple-definition-errors

部件号:TMDXSK437X

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

我遇到了多个定义错误。 一个定义是实际函数,而"第二个"始终是内联函数。 我尝试了各种优化级别以及将函数放入单独部分的设置。 (根据我在TI网站上搜索的信息。 还提到了EABI。这是否相关?)  
如何消除这些"多定义"错误?


非常感谢您的任何帮助...谢谢

(很抱歉,我错误地将此信息发布到Sitara处理器论坛)

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

    您使用的是gcc还是TI ARM编译器?

    是否可以附加屏幕截图?

    在这种情况下,您是否有两个同名函数,一个是常规函数,另一个函数在头文件中声明为内联函数? 如果您可以在屏幕截图中显示错误以及功能声明,那将是非常好的。

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

    非常感谢。

    我使用的是gcc编译器4.9 ................................3

    内联函数的名称不同,但它是从具有多个定义错误的函数调用的...

    所附的屏幕截图就是一个示例

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

    Samuel Nesbitt 说:
    内嵌函数名称不同,但它是从具有多个定义错误的函数调用的...[/QUOT]

    问题函数中的代码没有关系。  重点关注这样一个事实,即您有两个函数I2CSetDataCount的定义(完全实现)。  问题视图显示诊断程序的截断形式。  完整的诊断程序位于控制台视图中。  它可能会告诉您两个实现的位置。  我怀疑某些项目配置错误是问题的根源。

    谢谢,此致,

    -George

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

    您是否能够通过查看控制台视图中的输出来确定复制的来源?

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

    我假设您已经找到了解决方案,并将线程标记为已解决。 如果仍有问题,请随时发布新的主题。

    此致,
    John