Eclipse CDT - 错误:“对n的未定义引用”?

时间:2013-03-12 10:23:23

标签: arm eclipse-cdt codesourcery

我不完全确定这是属于这里还是属于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>路径和符号,包括选项卡,但不确定为什么事情没有成功。

enter image description here

该项目可在GitHub上找到,适用于任何想要结帐并自行尝试编辑的人。

我还创建了一个ticket on 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 plugin是必需的,可以使用update site

安装到Eclipse中

1 个答案:

答案 0 :(得分:3)

原来我只需要在

下添加外部资源
  

C / C ++一般>路径和符号>来源地点

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