memstone 发表于 2013-6-25 22:54:20

RTGUI编译链接出错,寻求帮助

链接出错:
basic_system.obj : error LNK2019: unresolved external symbol _dfs_win32_init referenced in function _rt_basic_system_entry
basic_system.obj : error LNK2019: unresolved external symbol _rt_win_sharedir_init referenced in function _rt_basic_system_entry
executables\demo.exe : fatal error LNK1120: 2 unresolved externals
scons: *** Error 1120
scons: building terminated because of errors.

版本:
RTT:1.1.0
RTGUI:今天刚从GIT下载的。

不知道这两个函数在哪个文件里,为什么链接没找到。


C:\mcu\RTGUI-master\build\components\dfs\src のディレクトリ

2013/06/2523:42    <DIR>          .
2013/06/2523:42    <DIR>          ..
2013/06/2523:42            16,405 dfs.obj
2013/06/2523:42            25,117 dfs_file.obj
2013/06/2523:42            20,305 dfs_fs.obj
2013/06/2523:42            21,849 dfs_posix.obj
               4 個のファイル            83,676 バイト
               2 個のディレクトリ   9,539,805,184 バイトの空き領域

C:\mcu\RTGUI-master\build\components>dir dfs\filesystems
ドライブ C のボリューム ラベルがありません。
ボリューム シリアル番号は 2C3B-575A です

C:\mcu\RTGUI-master\build\components\dfs\filesystems のディレクトリ

2013/06/2523:31    <DIR>          .
2013/06/2523:31    <DIR>          ..
2013/06/2523:42    <DIR>          elmfat
               0 個のファイル                   0 バイト
               3 個のディレクトリ   9,539,805,184 バイトの空き領域

C:\mcu\RTGUI-master\build\components>dir dfs\filesystems\elmfat
ドライブ C のボリューム ラベルがありません。
ボリューム シリアル番号は 2C3B-575A です

C:\mcu\RTGUI-master\build\components\dfs\filesystems\elmfat のディレクトリ

2013/06/2523:42    <DIR>          .
2013/06/2523:42    <DIR>          ..
2013/06/2523:42            51,543 dfs_elm.obj
2013/06/2523:42            78,357 ff.obj
               2 個のファイル             129,900 バイト
               2 個のディレクトリ   9,539,805,184 バイトの空き領域


link @c:\docume~1\mm\locals~1\temp\tmprhonwi.lnk
Using tempfile c:\docume~1\mm\locals~1\temp\tmpfex5mu.lnk for command line:
link /nologo /NODEFAULTLIB:LIBCMTD /DEBUG /SUBSYSTEM:CONSOLE /MACHINE:X86 /OUT:e
xecutables\demo.exe "/LIBPATH:C:\mcu\RT-Thread 1.1.0\bsp\simulator\SDL\lib\x86"
winmm.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib
oleaut32.lib uuid.lib odbc32.lib msvcrt.lib odbccp32.lib SDL.lib SDLmain.lib bu
ild\build\components\rtgui\common\blit.obj build\build\components\rtgui\common\c
olor.obj build\build\components\rtgui\common\calibration.obj build\build\compone
nts\rtgui\common\region.obj build\build\components\rtgui\common\rtgui_object.obj
build\build\components\rtgui\common\rtgui_system.obj build\build\components\rtg
ui\common\rtgui_theme.obj build\build\components\rtgui\common\rtgui_xml.obj buil
d\build\components\rtgui\common\rtgui_app.obj build\build\components\rtgui\commo
n\dc.obj build\build\components\rtgui\common\dc_hw.obj build\build\components\rt
gui\common\dc_buffer.obj build\build\components\rtgui\common\dc_client.obj build
\build\components\rtgui\common\filerw.obj build\build\components\rtgui\common\im
age.obj build\build\components\rtgui\common\image_xpm.obj build\build\components
\rtgui\common\image_hdc.obj build\build\components\rtgui\common\image_bmp.obj bu
ild\build\components\rtgui\common\image_png.obj build\build\components\rtgui\com
mon\image_jpg.obj build\build\components\rtgui\common\image_container.obj build\
build\components\rtgui\common\font.obj build\build\components\rtgui\common\font_
bmp.obj build\build\components\rtgui\common\font_hz_file.obj build\build\compone
nts\rtgui\common\font_hz_bmp.obj build\build\components\rtgui\common\asc12font.o
bj build\build\components\rtgui\common\asc16font.obj build\build\components\rtgu
i\common\hz12font.obj build\build\components\rtgui\common\hz16font.obj build\bui
ld\components\rtgui\common\framebuffer_driver.obj build\build\components\rtgui\c
ommon\pixel_driver.obj build\build\components\rtgui\common\rtgui_mv_model.obj bu
ild\build\components\rtgui\server\driver.obj build\build\components\rtgui\server
\mouse.obj build\build\components\rtgui\server\server.obj build\build\components
\rtgui\server\topwin.obj build\build\components\rtgui\widgets\box.obj build\buil
d\components\rtgui\widgets\button.obj build\build\components\rtgui\widgets\check
box.obj build\build\components\rtgui\widgets\combobox.obj build\build\components
\rtgui\widgets\iconbox.obj build\build\components\rtgui\widgets\label.obj build\
build\components\rtgui\widgets\textview.obj build\build\components\rtgui\widgets
\listctrl.obj build\build\components\rtgui\widgets\menu.obj build\build\componen
ts\rtgui\widgets\progressbar.obj build\build\components\rtgui\widgets\radiobox.o
bj build\build\components\rtgui\widgets\slider.obj build\build\components\rtgui\
widgets\scrollbar.obj build\build\components\rtgui\widgets\staticline.obj build\
build\components\rtgui\widgets\textbox.obj build\build\components\rtgui\widgets\
listbox.obj build\build\components\rtgui\widgets\title.obj build\build\component
s\rtgui\widgets\notebook.obj build\build\components\rtgui\widgets\container.obj
build\build\components\rtgui\widgets\list_view.obj build\build\components\rtgui\
widgets\filelist_view.obj build\build\components\rtgui\widgets\widget.obj build\
build\components\rtgui\widgets\window.obj build\build\components\rtgui\widgets\p
anel.obj build\build\components\rtgui\widgets\groupbox.obj build\build\component
s\rtgui\widgets\edit.obj build\build\components\rtgui\widgets\mv_view.obj build\
build\components\rtgui\widgets\plot.obj build\build\components\rtgui\widgets\plo
t_curve.obj build\build\components\rtgui\widgets\digtube.obj build\build\compone
nts\rtgui\widgets\digfont.obj build\src\clock.obj build\src\device.obj build\src
\idle.obj build\src\ipc.obj build\src\irq.obj build\src\kservice.obj build\src\m
em.obj build\src\object.obj build\src\scheduler.obj build\src\thread.obj build\s
rc\timer.obj build\libcpu\sim\win32\cpu_port.obj build\components\dfs\src\dfs.ob
j build\components\dfs\src\dfs_fs.obj build\components\dfs\src\dfs_file.obj buil
d\components\dfs\src\dfs_posix.obj build\components\dfs\filesystems\elmfat\dfs_e
lm.obj build\components\dfs\filesystems\elmfat\ff.obj build\components\drivers\s
rc\completion.obj build\components\drivers\src\dataqueue.obj build\components\dr
ivers\src\pipe.obj build\components\drivers\src\ringbuffer.obj build\components\
finsh\cmd.obj build\components\finsh\finsh_compiler.obj build\components\finsh\f
insh_error.obj build\components\finsh\finsh_heap.obj build\components\finsh\fins
h_init.obj build\components\finsh\finsh_node.obj build\components\finsh\finsh_op
s.obj build\components\finsh\finsh_parser.obj build\components\finsh\finsh_token
.obj build\components\finsh\finsh_var.obj build\components\finsh\finsh_vm.obj bu
ild\components\finsh\shell.obj build\components\finsh\symbol.obj build\component
s\init\components.obj build\simulator\sim-com\basic_system.obj build\simulator\s
im-com\platform.obj build\simulator\sim-com\startup.obj build\simulator\sim-drv\
board.obj build\simulator\sim-drv\sd_sim.obj build\simulator\sim-drv\sdl_fb.obj
build\simulator\sim-drv\serial.obj build\simulator\sim-drv\usart_sim.obj build\d
emo\application.obj build\demo\build\examples\demo_application.obj build\demo\bu
ild\examples\demo_view.obj build\demo\build\examples\demo_xml.obj build\demo\bui
ld\examples\demo_view_benchmark.obj build\demo\build\examples\demo_view_dc.obj b
uild\demo\build\examples\demo_view_ttf.obj build\demo\build\examples\demo_view_d
c_buffer.obj build\demo\build\examples\demo_view_animation.obj build\demo\build\
examples\demo_view_buffer_animation.obj build\demo\build\examples\demo_view_inst
rument_panel.obj build\demo\build\examples\demo_view_window.obj build\demo\build
\examples\demo_view_label.obj build\demo\build\examples\demo_view_button.obj bui
ld\demo\build\examples\demo_view_checkbox.obj build\demo\build\examples\demo_vie
w_progressbar.obj build\demo\build\examples\demo_view_scrollbar.obj build\demo\b
uild\examples\demo_view_radiobox.obj build\demo\build\examples\demo_view_textbox
.obj build\demo\build\examples\demo_view_listbox.obj build\demo\build\examples\d
emo_view_menu.obj build\demo\build\examples\demo_view_listctrl.obj build\demo\bu
ild\examples\demo_view_combobox.obj build\demo\build\examples\demo_view_slider.o
bj build\demo\build\examples\demo_view_notebook.obj build\demo\build\examples\de
mo_view_mywidget.obj build\demo\build\examples\demo_view_box.obj build\demo\buil
d\examples\demo_view_edit.obj build\demo\build\examples\demo_view_bmp.obj build\
demo\build\examples\demo_plot.obj build\demo\build\examples\mywidget.obj build\d
emo\build\examples\demo_view_digtube.obj

memstone 发表于 2013-6-26 11:07:51

自己解决了。
STEP1:copy C:\mcu\RT-Thread 1.1.0\bsp\simulator\applications\dfs_win32.c to C:\mcu\RTGUI-master\sim-common
SETP2: 重新运行 scons
分析:缺少的两个函数在源文件dfs_win32.c中,但编译的时候,没包含进来,链接找不到链接符号。所以把这个文件复制到RTGUI任意源代码目录下,让其被包含到编译路径中即可。

对scons不是很熟悉,不知道为什么下载的RTGUI,编译时会有这个问题,可能是我环境的原因,有知道的朋友指点一下。

binaimei2007 发表于 2013-6-26 11:18:44

谢谢楼主写出解决方法

ffxz 发表于 2013-6-25 22:54:21

这个是因为RT-Thread GUI开发和RT-Thread开发分开了,所以容易造成两边编译的版本不一致。

最好的方式是,RT-Thread GUI用最新版本的RT-Thread。

memstone 发表于 2013-7-13 17:15:54

本帖最后由 memstone 于 2013-7-13 17:17 编辑

{:tongue:}设置最佳答案,怎么把帖子发表时间给改了。

后台程序员偷懒了,省事了,哈。
页: [1]
查看完整版本: RTGUI编译链接出错,寻求帮助