【问题标题】:stm32 HAL library eclipsestm32 HAL库日食
【发布时间】:2015-09-24 22:04:49
【问题描述】:

我正在使用带有 ARM 插件的 Eclipse IDE 在我的 F4-Discovery 上开发一个项目。我创建了一个空模板项目并开始使用 stm32 HAL 库中的函数,但出现如下错误:

对“HAL_DMA_Init”的未定义引用

对“HAL_UART_Init”的未定义引用

必要的 .c 和 .h 文件位于正确的目录中,但 Eclipse 只识别了一半的 .c 文件,而其他文件被删除了。 This image explains my problem. 怎么了?谢谢。

【问题讨论】:

    标签: eclipse stm32 stm32f4discovery


    【解决方案1】:

    “未定义的引用”可能是链接器错误。您没有编译您尝试使用的库的实际源代码。

    转到system > src > stm32f4-hal,然后右键单击您要包含的库文件。取消选中“从构建中排除”。

    【讨论】:

      【解决方案2】:

      在您需要的文件的属性(Alt+Enter)中,勾选“从构建中排除资源”复选框。 as shown in this link

      【讨论】:

        【解决方案3】:

        您需要向 Eclipse CDT 添加包含路径。假设这是一个托管构建(而不是使用外部 Makefile),您需要遵循指示 here

        在托管构建系统中添加包含路径和符号

        对于 CDT 项目,您可以定义包含路径和预处理器 解析器的符号。这让解析器理解内容 的 C/C++ 源代码,以便您可以更有效地使用 搜索和代码完成功能。

        如果启用了自动发现,则在构建完成后,任何发现的 路径和符号将显示在发现的路径部分。 您还可以在 C/C++ 中为每个项目定义属性 项目或导航器视图。

        添加包含路径和符号:

        要为您的项目设置属性,请右键单击您的 CDT 项目并选择“属性”。或者,为特定的设置属性 项目中的源文件,右键单击项目中的源文件 制作项目并选择属性。

        1. 展开 C/C++ General 并选择 Paths and Symbols。

        2. 单击此处查看插图(显示在单独的窗口中)。

        3. 单击添加以定义新元素(包括路径、符号、库路径等)。

        4. 单击“编辑”以更改所选元素(包括路径、符号、库路径等)。
        5. 单击删除以删除选定元素(包括路径、符号、库路径等)。
        6. 单击“导出”以导出所选元素(包括路径、符号、库路径等)。
        7. 单击“取消导出”可从导出列表中删除选定元素(包括路径、符号、库路径等)。
        8. 单击上移和下移可设置元素(包括路径、库路径等)顺序。

        【讨论】:

          猜你喜欢
          • 2017-04-07
          • 2019-04-20
          • 2021-12-23
          • 2018-08-26
          • 2021-08-27
          • 2016-09-01
          • 2021-05-20
          • 2022-01-13
          • 2018-01-09
          相关资源
          最近更新 更多