1

我不完全确定这是属于这里还是属于electronics.stackexchange.com,但由于这与IDE 设置和编译有关,我相信这是问我问题的最佳场所。

我在 Eclipse CDT 中有一个 C 项目设置。它使用 Mentor Graphics 的 Sourcery CodeBench Lite ARM 工具链。我已经安装了 Eclipse CDT 以及 GNU ARM Eclipse 插件,并尝试设置 ST.com STM32F4 Discovery 示例以在 Eclipse CDT 中编译。

编译时,编译器输出超过 200 个错误(为简洁起见缩短):

.../main.c:75: undefined reference to `STM_EVAL_PBInit'
.../main.c:77: undefined reference to `STM_EVAL_LEDInit'
.../main.c:78: undefined reference to `STM_EVAL_LEDInit'
.../main.c:79: undefined reference to `STM_EVAL_LEDInit'
.../main.c:80: undefined reference to `STM_EVAL_LEDInit'
.../main.c:83: undefined reference to `RCC_GetClocksFreq'
.../main.c:86: undefined reference to `STM_EVAL_PBGetState'
.../main.c:89: undefined reference to `STM_EVAL_LEDOn'
.../main.c:90: undefined reference to `STM_EVAL_LEDOn'
.../main.c:91: undefined reference to `STM_EVAL_LEDOn'
.../main.c:92: undefined reference to `STM_EVAL_LEDOn'

几乎所有这些项目都在stm32f4_discovery.h中定义,但由于某种原因,它们在编译期间没有得到解决。

我检查并仔细检查了该文件是否可用 C/C++ General > Paths and Symbols, Includes 选项卡,但不确定为什么事情没有解决。

在此处输入图像描述

该项目可在GitHub上找到,任何想要自己检查和尝试编译的人都可以使用。

我还在Github 上创建了一张票,因为我不想在这里充斥着输出信息。

只需克隆https://github.com/josefvanniekerk/stm32f4-discovery.git,将stm32f4-discovery/projects/demonstration导入 Eclipse CDT,然后尝试编译。

Sourcery CodeBench Lite 工具链是在 Mac OS X 上从arm-cs-tools-build.sh编译的,并且需要Eclipse GNU ARM 插件,并且可以使用他们的更新站点安装到 Eclipse 中

4

1 回答 1

4

原来我只需要在下面添加外部源

C/C++ 常规 > 路径和符号 > 源位置

仍然有一些错误,但不再与这个问题有关。:)

于 2013-03-12T20:46:25.107 回答