请问使用GUI就一定要用DFS吗?
我的应用比较简单,不需要文件列表,不需要汉字字库,也不需要显示图片但连接的时候老是说
|| Error: L6218E: Undefined symbol rtgui_filerw_create_file (referred from image.o).
|| Error: L6218E: Undefined symbol hz_bmp_font_engine (referred from hz16font.o).
|| Error: L6218E: Undefined symbol closedir (referred from filelist_view.o).
|| Error: L6218E: Undefined symbol dfs_stat (referred from filelist_view.o).
|| Error: L6218E: Undefined symbol opendir (referred from filelist_view.o).
|| Error: L6218E: Undefined symbol readdir (referred from filelist_view.o).
但配置文件里好像没有看到不使用这些组件的开关 RTGUI_USING_STDIO_FILERW
RTGUI_USING_DFS_FILERW
rtgui_config.h中这两个宏不要定义就行了。 还是不行呢!我用的是0.3.0正式版
rtgui_config.h内容如下:
/*
* File : rtgui_config.h
* This file is part of RT-Thread RTOS
* COPYRIGHT (C) 2006 - 2009, RT-Thread Development Team
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rt-thread.org/license/LICENSE
*
* Change Logs:
* Date Author Notes
* 2009-10-16 Bernard first version
* 2010-02-08 Bernard move some RTGUI options to bsp
*/
#ifndef __RTGUI_CONFIG_H__
#define __RTGUI_CONFIG_H__
/* RTGUI options */
#ifdef _WIN32
/* name length of RTGUI object */
#define RTGUI_NAME_MAX 12
/* support 16 weight font */
#define RTGUI_USING_FONT16
/* support Chinese font */
//#define RTGUI_USING_FONTHZ
/* use small size in RTGUI */
#define RTGUI_USING_SMALL_SIZE
/* use mouse cursor */
/* #define RTGUI_USING_MOUSE_CURSOR */
/* default font size in RTGUI */
#define RTGUI_DEFAULT_FONT_SIZE 12
//#define RTGUI_USING_STDIO_FILERW
//#define RTGUI_IMAGE_PNG
//#define RTGUI_IMAGE_JPEG
#define RTGUI_USING_FONT12
//#define RTGUI_USING_HZ_BMP
#define RTGUI_MEM_TRACE
#endif
#if RTGUI_DEFAULT_FONT_SIZE == 0
#define RTGUI_DEFAULT_FONT_SIZE 12
#endif
#define RTGUI_SVR_THREAD_PRIORITY 15
#define RTGUI_SVR_THREAD_TIMESLICE 5
#ifdef RTGUI_USING_SMALL_SIZE
#define RTGUI_SVR_THREAD_STACK_SIZE 1024
#else
#define RTGUI_SVR_THREAD_STACK_SIZE 2048
#endif
#define RTGUI_APP_THREAD_PRIORITY 25
#define RTGUI_APP_THREAD_TIMESLICE 5
#ifdef RTGUI_USING_SMALL_SIZE
#define RTGUI_APP_THREAD_STACK_SIZE 1024
#else
#define RTGUI_APP_THREAD_STACK_SIZE 2048
#endif
#endif 哦,0.3.0应该是需要修改下代码的,可以参考下SVN中的代码,或者直接在链接出错的地方加如下代码吧
#if defined(RTGUI_USING_DFS_FILERW) || defined(RTGUI_USING_STDIO_FILERW)
#endif 好的,我先试试,谢谢 我改用trunk的代码了,然后把目录结构改成这样
root ----
|
|-------- prj_gui
|
|-------- rtt
|
|-------- stm32_lib
我原来用0.3.0的时候也是这样的结构的,不过现在的问题是,执行scons后的老是出这样的错误
E:\stm32\prj\rtt\prj_gui>scons -c
scons: Reading SConscript files ...
File "E:\stm32\prj\rtt\prj_gui\rtconfig.py", line 55
EXEC_PATH = 'D:/tools/keil'
^
IndentationError: unindent does not match any outer indentation level
目录路径都是对的,改成CROSS_TOOL='gcc'也是一样的错误,不会python,看着很迷糊啊 python的语法稍微有些不一样,估计你改动编译脚本了吧
python代码对于代码缩进有严格的要求,它是依赖缩进来识别作用域的,所以缩进不一致或空格和TAB(制表符)混合都会导致错误。你上面这个错误就很像是空格和TAB混用了,你可以用编辑器把所有的TAB转换成空格试试 原来是这样,我现在暂时把keil那几句删除就可以了
我明天再修改一下,谢谢
页:
[1]