1908|4

6841

帖子

11

TA的资源

版主

楼主
 

【正点原子阿尔法 IMX6ULL Linux开发板】解决inline报错问题——LCD测试 [复制链接]

开发板支持RBG屏,今天测试RGB测试时,发现编译报错。

把开发板例程复制到虚拟机,用vscode打开文件夹。执行行make时报错:

bsp/lcd/bsp_lcd.h:85:13: warning: inline function ‘lcd_drawpoint’ declared but never defined
   85 | inline void lcd_drawpoint(unsigned short x,unsigned short y,unsigned int color);
      |             ^~~~~~~~~~~~~
arm-linux-gnueabihf-ld -Timx6ul.lds -o lcd.elf obj/start.o obj/lib1funcs.o obj/main.o obj/ctype.o obj/muldi3.o obj/div64.o obj/string.o obj/vsprintf.o obj/printf.o obj/bsp_clk.o obj/bsp_led.o obj/bsp_delay.o obj/bsp_beep.o obj/bsp_gpio.o obj/bsp_key.o obj/bsp_exit.o obj/bsp_int.o obj/bsp_epittimer.o obj/bsp_keyfilter.o obj/bsp_uart.o obj/bsp_lcd.o obj/bsp_lcdapi.o -lgcc -L /usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/lib/gcc/arm-linux-gnueabihf/4.9.4
arm-linux-gnueabihf-ld: obj/bsp_lcd.o: in function `lcd_fill':
bsp_lcd.c:(.text+0x730): undefined reference to `lcd_drawpoint'
arm-linux-gnueabihf-ld: obj/bsp_lcdapi.o: in function `lcd_drawline':
bsp_lcdapi.c:(.text+0x60): undefined reference to `lcd_drawpoint'
arm-linux-gnueabihf-ld: obj/bsp_lcdapi.o: in function `lcd_draw_Circle':
bsp_lcdapi.c:(.text+0x15a): undefined reference to `lcd_drawpoint'
arm-linux-gnueabihf-ld: bsp_lcdapi.c:(.text+0x176): undefined reference to `lcd_drawpoint'
arm-linux-gnueabihf-ld: bsp_lcdapi.c:(.text+0x188): undefined reference to `lcd_drawpoint'
arm-linux-gnueabihf-ld: obj/bsp_lcdapi.o:bsp_lcdapi.c:(.text+0x19c): more undefined references to `lcd_drawpoint' follow

【问题的原因】

经查找出错原因是:lcd_drawpoint函数没有找到。但是分明函数是已经有建立并且头文件等引用也是正确。经查找原因是由于inline函数与编译器配合不好引起的。

【解决办法】

把inline函数放到头文件中声明。

我们反bsp_lcd.c中的lcd_drawpoint函数放到bsp_lcd.h中定义:

 然后再执行编译就顺利通过:

 【实验结果】下载固件到开发板后,实现如下效果:

   【总结】gcc编译器版本不同,有时一些特殊的情况,在编写代码时,也需要注意。

此帖出自ARM技术论坛

最新回复

LCD多少米买的啊    详情 回复 发表于 2023-6-9 23:22
点赞 关注
 

回复
举报

6593

帖子

0

TA的资源

五彩晶圆(高级)

沙发
 

原来是inline函数与编译器配合不好

谢谢分享

 

此帖出自ARM技术论坛

点评

感谢关注,这个问题,我原来是mdk上也有遇到过,没有找到方法,这次找到解决问题的方法,特地记录一下。  详情 回复 发表于 2023-6-9 09:56
 
 
 

回复

6841

帖子

11

TA的资源

版主

板凳
 
Jacktang 发表于 2023-6-9 07:34 原来是inline函数与编译器配合不好 谢谢分享  

感谢关注,这个问题,我原来是mdk上也有遇到过,没有找到方法,这次找到解决问题的方法,特地记录一下。

此帖出自ARM技术论坛
 
 
 

回复

7172

帖子

195

TA的资源

五彩晶圆(高级)

4
 

LCD多少米买的啊 

此帖出自ARM技术论坛

点评

好象是140那样子吧,相比米尔的良心多了,米尔的我花了600米。  详情 回复 发表于 2023-6-10 07:19
 
 
 

回复

6841

帖子

11

TA的资源

版主

5
 
常见泽1 发表于 2023-6-9 23:22 LCD多少米买的啊 

好象是140那样子吧,相比米尔的良心多了,米尔的我花了600米。

此帖出自ARM技术论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表