c - 键入对 'OSD0_WRITE' 的 undefined reference

标签 c eclipse gcc compilation

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

我收到一条错误消息:

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

ma​​in.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 设备编译。这里的构建日志详细信息。


enter image description here

最佳答案

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

关于c - 键入对 'OSD0_WRITE' 的 undefined reference ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29792435/

相关文章:

c - 如果输入将被截断,如何测试比较?

java - 视频驱动程序不支持 OpenGL

c - GCC 错误消息 : attempt to use poisoned "TARGET_I386"

c - 杀死一个 fork 的 child

c - 如何for循环迭代两个变量?

C 编译器错误 - 初始值设定项不是常量

eclipse - 我已经成功安装了Java(希望如此),然后继续安装Eclipse Neon。 NEON 不在运行,它会产生这些错误

java - Eclipse 远程系统资源管理器 : create Java project

c++ - GCC 9.1 返回 void& 作为显式析构函数调用的结果类型。这是一个错误吗?

c - 表达式 "j =++(i | i); 和 j =++(i & i); 应该是左值错误?