在TFLCD屏幕中遇到的问题及解决方案
1、问题提出
在对正点原子提供的有关TFLCD屏幕做移植过程中,编译过程中没有报错,但是链接时就出现了报错,报错信息如下图所示:
像这种错误,无法定义到错误所在处,也定义了相关变量,那这种错误怎么造成的呢?大概是在tflcd.o文件中没有找到"POINT_COLOR"和”lcd_dev“这两个变量,那么tflcd.o文件怎么生成的呢?其通过工程中的tflcd.c通过编译生成,也就是我们在c文件中未定义未定义这两个变量。基于此,我们找到问题的来源了。现在我们就来解决此问题。
首先我们可以定义到tflcd.h文件中,可以看到我们定义了三个变量
extern LCD_DEV lcd_dev; //
extern u16 POINT_COLOR;
extern u16 BACK_COLOR; //
但是仅这样编译就会出现上面所述的错误,此时我们还要在c文件的最上面,就是头文件下面还要重新定义一下这个变量,定义方式如下所示:
LCD_DEV lcd_dev;
u16 POINT_COLOR;
u16 BACK_COLOR;
此时再编译,问题解决。