我不完全确定这是属于这里还是属于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>路径和符号,包括选项卡,但不确定为什么事情没有成功。
该项目可在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中答案 0 :(得分:3)
原来我只需要在
下添加外部资源C / C ++一般>路径和符号>来源地点
还有一些错误,但不再与这个问题有关了。 :)