stm32 HAL库eclipse

时间:2015-07-07 12:10:17

标签: eclipse stm32 stm32f4discovery

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

  

对“HAL_DMA_Init”的未定义引用

     

对“HAL_UART_Init”的未定义引用

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

3 个答案:

答案 0 :(得分:3)

您需要添加Eclipse CDT的包含路径。假设这是一个托管版本(而不是使用外部Makefile),您需要按照here的说明进行操作。

  

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

     

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

     

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

     

添加包含路径和符号:

     

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

     
      
  1. 展开C / C ++ General并选择路径和符号。

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

  4.   
  5. 单击“添加”以定义新元素(包括路径,符号,库路径等)。

  6.   
  7. 单击“编辑”以更改所选元素(包括路径,符号,库路径等)。
  8.   
  9. 单击“删除”以删除所选元素(包括路径,符号,库路径等)。
  10.   
  11. 单击“导出”以导出所选元素(包括路径,符号,库路径等)。
  12.   
  13. 单击Unexport从导出列表中删除所选元素(包括路径,符号,库路径等)。
  14.   
  15. 单击上移和下移以设置元素(包括路径,库路径等)顺序。
  16.   

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

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