【问题标题】: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,然后右键单击您要包含的库文件。取消选中“从构建中排除”。
【解决方案3】:
您需要向 Eclipse CDT 添加包含路径。假设这是一个托管构建(而不是使用外部 Makefile),您需要遵循指示 here。
在托管构建系统中添加包含路径和符号
对于 CDT 项目,您可以定义包含路径和预处理器
解析器的符号。这让解析器理解内容
的 C/C++ 源代码,以便您可以更有效地使用
搜索和代码完成功能。
如果启用了自动发现,则在构建完成后,任何发现的
路径和符号将显示在发现的路径部分。
您还可以在 C/C++ 中为每个项目定义属性
项目或导航器视图。
添加包含路径和符号:
要为您的项目设置属性,请右键单击您的 CDT 项目并选择“属性”。或者,为特定的设置属性
项目中的源文件,右键单击项目中的源文件
制作项目并选择属性。
展开 C/C++ General 并选择 Paths and Symbols。
单击此处查看插图(显示在单独的窗口中)。
单击添加以定义新元素(包括路径、符号、库路径等)。
- 单击“编辑”以更改所选元素(包括路径、符号、库路径等)。
- 单击删除以删除选定元素(包括路径、符号、库路径等)。
- 单击“导出”以导出所选元素(包括路径、符号、库路径等)。
- 单击“取消导出”可从导出列表中删除选定元素(包括路径、符号、库路径等)。
- 单击上移和下移可设置元素(包括路径、库路径等)顺序。