键入对 'OSD0_WRITE' 的未定义引用

Type undefined reference to 'OSD0_WRITE'

我正在 Eclipse Luna 运行 中使用 gcc 4.8.2 编译器编译 C 程序 Ubuntu。

我收到一条错误消息:

Description Resource    Path    Location    Type
undefined reference to'OSD0_WRITE'  main.c  /stm32107/src   line 120 C/C++ Problem

main.c

#include "OSD.H"

void OSD0_WRITE (   
uint8_t *YAZI,              uint8_t  FONT_PROPERTIES, 
uint16_t X_COORDINATE,      uint16_t Y_COORDINATE, 
uint8_t  FONT_RANGE_X,      uint8_t  FONT_RANGE_Y,
uint8_t  FONT_SIZE_X,       uint8_t  FONT_SIZE_Y, 
uint8_t  CHARACTER_DIM_X,   uint8_t  CHARACTER_DIM_Y,
uint8_t  FONT_BLINK,        uint8_t  FONT_FADE             );

int main(void)
{
uint8_t TEXT[] = "123456789012345678901234567890";

OSD0_WRITE(TEXT ,0x05,45,45,1,1,30,5,1,1,2,15);
} /* main.c */

OSD.C

#include "OSD.H"
void OSD0_WRITE (   
uint8_t *YAZI,              uint8_t  FONT_PROPERTIES, 
uint16_t X_COORDINATE,      uint16_t Y_COORDINATE, 
uint8_t  FONT_RANGE_X,      uint8_t  FONT_RANGE_Y,
uint8_t  FONT_SIZE_X,       uint8_t  FONT_SIZE_Y, 
uint8_t  CHARACTER_DIM_X,   uint8_t  CHARACTER_DIM_Y,
uint8_t  FONT_BLINK,        uint8_t  FONT_FADE             )
{

    TxBurst(0x400,FONT_SIZE_X, TEXT);

    OSD0_XY(X_COORDINATE,Y_COORDINATE);
.....
.....
....



} /* OSD0_WRITE */




***** 构建日志 ************* 为 STM32F107 Cortex M3 设备编译。这里的构建日志详细信息。


实际文件名是否像 OSD.C 一样大写?您能否将其重命名为至少具有小写的文件扩展名 OSD.c 并重试,因为 gcc 将 .C 文件编译为 C++。 – 回答@nos

OSD.o 未链接到解决方案,您应该将 OSD.C 添加到 makefile

中的源文件列表中