GUI

2.1.0RT-thread添加0.8.1RTgui遇到编译问题(求救)

发布于 2017-05-23 20:06:15
RT-thread版本 2.1.0
RT-gui版本 0.8.1
下载源码包后,在bsp文件夹下,创建自己的工程文件,并在不添加组件的情况下,使用scons构建keil工程,并编译通过。
在rtconfig.h中添加宏:RT_USING_GUIENGINE
同时添加宏:RT_USING_RTGUI (启用application.c中的gui调试代码,同时时配合Sconsruct文件添加gui代码)
编写lcd驱动函数
scons --target=mdk5 -s
构建工程成功
scons -j4
编译时报错如下:
"D:WorkSpace
t-thread-mastercomponentsguiinclude
tgui/event.h", line 21: Error: #5: cannot open source input file "rtdevice.h": No such file or directory
#include

提示未包含rtdevice.h 头文件
于是发现rtdevice.h在componentsdriversinclude目录中,于是修改gui目录下的Sconscript脚本

CPPPATH = [cwd + '/include'

group = DefineGroup('GUIEngine', src, depend = ['RT_USING_GUIENGINE'], CPPPATH = CPPPATH)

修改如下
CPPPATH = [cwd + '/include',cwd + '/../drivers/include']
group = DefineGroup('GUIEngine', src, depend = ['RT_USING_GUIENGINE'], CPPPATH = CPPPATH)

结果还是编译出错,只是错误不是之前的错误,而是函数重复定义:
Error: L6200E: Symbol rtgui_win_set_rect multiply defined (by window.o and window.o).
Error: L6200E: Symbol rtgui_win_set_onactivate multiply defined (by window.o and window.o).
Error: L6200E: Symbol rtgui_win_set_ondeactivate multiply defined (by window.o and window.o).
Error: L6200E: Symbol rtgui_win_set_onclose multiply defined (by window.o and window.o).
Error: L6200E: Symbol rtgui_win_set_onkey multiply defined (by window.o and window.o).
Error: L6200E: Symbol rtgui_win_set_title multiply defined (by window.o and window.o).
Error: L6200E: Symbol rtgui_win_get_title multiply defined (by window.o and window.o).
Finished: 0 information, 1 warning and 391 error messages.
scons: *** [lpc1857_rtt_demo.axf] Error 1
scons: building terminated because of errors.

重复定义达391个之多,初次使用RT-thread 就遇到类似问题,很是抓瞎,希望高人指点。

查看更多

关注者
0
被浏览
2.1k
5 个回答
bernard
bernard 2017-05-23
rtgui并没有了,所以后续的GUI engine版本并不是真对着rtgui去的
liming10cm
liming10cm 2017-05-23
那么 rt-thread 对ucgui的支持怎样
jeffwei
jeffwei 2017-05-24
那么 rt-thread 对ucgui的支持怎样

有人做了emwin在RTT1.2.0的移植,我借用了,在2.1.0上也可以

liming10cm
liming10cm 2017-05-24
那么 rt-thread 对ucgui的支持怎样

有人做了emwin在RTT1.2.0的移植,我借用了,在2.1.0上也可以



谢谢,我尝试一下。

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览