lvgl / lv_port_win_codeblocks

Windows PC simulator project for LVGL embedded GUI Library
MIT License
143 stars 88 forks source link

Build Errors #3

Closed MyVanitar closed 4 years ago

MyVanitar commented 4 years ago

Hi, how can I solve these build errors?

obj\Debug\lv_examples\lv_apps\sysmon\sysmon.o: In function `sysmon_task':
D:/LittlevGL/lv_sim_codeblocks_win-master/lv_sim_codeblocks_win-master/lv_examples/lv_apps/sysmon/sysmon.c:130: undefined reference to `lv_snprintf'
D:/LittlevGL/lv_sim_codeblocks_win-master/lv_sim_codeblocks_win-master/lv_examples/lv_apps/sysmon/sysmon.c:148: undefined reference to `lv_snprintf'
obj\Debug\lvgl\src\lv_core\lv_group.o: In function `lv_group_create':
D:/LittlevGL/lv_sim_codeblocks_win-master/lv_sim_codeblocks_win-master/lvgl/src/lv_core/lv_group.c:66: undefined reference to `lv_debug_check_null'
D:/LittlevGL/lv_sim_codeblocks_win-master/lv_sim_codeblocks_win-master/lvgl/src/lv_core/lv_group.c:66: undefined reference to `lv_debug_log_error'
obj\Debug\lvgl\src\lv_core\lv_group.o: In function `lv_group_add_obj':
D:/LittlevGL/lv_sim_codeblocks_win-master/lv_sim_codeblocks_win-master/lvgl/src/lv_core/lv_group.c:142: undefined reference to `lv_debug_check_null'
D:/LittlevGL/lv_sim_codeblocks_win-master/lv_sim_codeblocks_win-master/lvgl/src/lv_core/lv_group.c:142: undefined reference to `lv_debug_log_error'
obj\Debug\lvgl\src\lv_core\lv_obj.o: In function `lv_obj_create':
D:/LittlevGL/lv_sim_codeblocks_win-master/lv_sim_codeblocks_win-master/lvgl/src/lv_core/lv_obj.c:149: undefined reference to `lv_debug_check_null'
D:/LittlevGL/lv_sim_codeblocks_win-master/lv_sim_codeblocks_win-master/lvgl/src/lv_core/lv_obj.c:149: undefined reference to `lv_debug_log_error'
D:/LittlevGL/lv_sim_codeblocks_win-master/lv_sim_codeblocks_win-master/lvgl/src/lv_core/lv_obj.c:227: undefined reference to `lv_debug_check_null'
D:/LittlevGL/lv_sim_codeblocks_win-master/lv_sim_codeblocks_win-master/lvgl/src/lv_core/lv_obj.c:227: undefined reference to `lv_debug_log_error'
D:/LittlevGL/lv_sim_codeblocks_win-master/lv_sim_codeblocks_win-master/lvgl/src/lv_core/lv_obj.c:230: undefined reference to `lv_debug_check_null'
D:/LittlevGL/lv_sim_codeblocks_win-master/lv_sim_codeblocks_win-master/lvgl/src/lv_core/lv_obj.c:230: undefined reference to `lv_debug_log_error'
D:/LittlevGL/lv_sim_codeblocks_win-master/lv_sim_codeblocks_win-master/lvgl/src/lv_core/lv_obj.c:321: undefined reference to `lv_debug_check_null'
D:/LittlevGL/lv_sim_codeblocks_win-master/lv_sim_codeblocks_win-master/lvgl/src/lv_core/lv_obj.c:321: undefined reference to `lv_debug_log_error'
obj\Debug\lvgl\src\lv_core\lv_obj.o: In function `lv_obj_del':
D:/LittlevGL/lv_sim_codeblocks_win-master/lv_sim_codeblocks_win-master/lvgl/src/lv_core/lv_obj.c:402: undefined reference to `lv_debug_check_null'
D:/LittlevGL/lv_sim_codeblocks_win-master/lv_sim_codeblocks_win-master/lvgl/src/lv_core/lv_obj.c:402: undefined reference to `lv_debug_log_error'
obj\Debug\lvgl\src\lv_core\lv_obj.o: In function `lv_obj_del_async':
D:/LittlevGL/lv_sim_codeblocks_win-master/lv_sim_codeblocks_win-master/lvgl/src/lv_core/lv_obj.c:487: undefined reference to `lv_debug_check_null'
D:/LittlevGL/lv_sim_codeblocks_win-master/lv_sim_codeblocks_win-master/lvgl/src/lv_core/lv_obj.c:487: undefined reference to `lv_debug_log_error'
obj\Debug\lvgl\src\lv_core\lv_obj.o: In function `lv_obj_clean':
D:/LittlevGL/lv_sim_codeblocks_win-master/lv_sim_codeblocks_win-master/lvgl/src/lv_core/lv_obj.c:497: undefined reference to `lv_debug_check_null'
D:/LittlevGL/lv_sim_codeblocks_win-master/lv_sim_codeblocks_win-master/lvgl/src/lv_core/lv_obj.c:497: undefined reference to `lv_debug_log_error'
obj\Debug\lvgl\src\lv_core\lv_obj.o: In function `lv_obj_invalidate':
D:/LittlevGL/lv_sim_codeblocks_win-master/lv_sim_codeblocks_win-master/lvgl/src/lv_core/lv_obj.c:515: undefined reference to `lv_debug_check_null'
D:/LittlevGL/lv_sim_codeblocks_win-master/lv_sim_codeblocks_win-master/lvgl/src/lv_core/lv_obj.c:515: undefined reference to `lv_debug_log_error'
obj\Debug\lvgl\src\lv_core\lv_obj.o: In function `lv_obj_set_parent':
D:/LittlevGL/lv_sim_codeblocks_win-master/lv_sim_codeblocks_win-master/lvgl/src/lv_core/lv_obj.c:564: undefined reference to `lv_debug_check_null'
D:/LittlevGL/lv_sim_codeblocks_win-master/lv_sim_codeblocks_win-master/lvgl/src/lv_core/lv_obj.c:564: undefined reference to `lv_debug_log_error'
D:/LittlevGL/lv_sim_codeblocks_win-master/lv_sim_codeblocks_win-master/lvgl/src/lv_core/lv_obj.c:565: undefined reference to `lv_debug_check_null'
D:/LittlevGL/lv_sim_codeblocks_win-master/lv_sim_codeblocks_win-master/lvgl/src/lv_core/lv_obj.c:565: undefined reference to `lv_debug_log_error'
obj\Debug\lvgl\src\lv_core\lv_obj.o: In function `lv_obj_move_foreground':
D:/LittlevGL/lv_sim_codeblocks_win-master/lv_sim_codeblocks_win-master/lvgl/src/lv_core/lv_obj.c:604: undefined reference to `lv_debug_check_null'
D:/LittlevGL/lv_sim_codeblocks_win-master/lv_sim_codeblocks_win-master/lvgl/src/lv_core/lv_obj.c:604: undefined reference to `lv_debug_log_error'
obj\Debug\lvgl\src\lv_core\lv_obj.o: In function `lv_obj_move_background':
D:/LittlevGL/lv_sim_codeblocks_win-master/lv_sim_codeblocks_win-master/lvgl/src/lv_core/lv_obj.c:627: undefined reference to `lv_debug_check_null'
D:/LittlevGL/lv_sim_codeblocks_win-master/lv_sim_codeblocks_win-master/lvgl/src/lv_core/lv_obj.c:627: undefined reference to `lv_debug_log_error'
obj\Debug\lvgl\src\lv_core\lv_obj.o: In function `lv_obj_set_pos':
D:/LittlevGL/lv_sim_codeblocks_win-master/lv_sim_codeblocks_win-master/lvgl/src/lv_core/lv_obj.c:656: undefined reference to `lv_debug_check_null'
D:/LittlevGL/lv_sim_codeblocks_win-master/lv_sim_codeblocks_win-master/lvgl/src/lv_core/lv_obj.c:656: undefined reference to `lv_debug_log_error'
obj\Debug\lvgl\src\lv_core\lv_obj.o: In function `lv_obj_set_x':
D:/LittlevGL/lv_sim_codeblocks_win-master/lv_sim_codeblocks_win-master/lvgl/src/lv_core/lv_obj.c:705: undefined reference to `lv_debug_check_null'
D:/LittlevGL/lv_sim_codeblocks_win-master/lv_sim_codeblocks_win-master/lvgl/src/lv_core/lv_obj.c:705: undefined reference to `lv_debug_log_error'
obj\Debug\lvgl\src\lv_core\lv_obj.o: In function `lv_obj_set_y':
D:/LittlevGL/lv_sim_codeblocks_win-master/lv_sim_codeblocks_win-master/lvgl/src/lv_core/lv_obj.c:717: undefined reference to `lv_debug_check_null'
D:/LittlevGL/lv_sim_codeblocks_win-master/lv_sim_codeblocks_win-master/lvgl/src/lv_core/lv_obj.c:717: undefined reference to `lv_debug_log_error'
obj\Debug\lvgl\src\lv_core\lv_obj.o: In function `lv_obj_set_size':
D:/LittlevGL/lv_sim_codeblocks_win-master/lv_sim_codeblocks_win-master/lvgl/src/lv_core/lv_obj.c:730: undefined reference to `lv_debug_check_null'
D:/LittlevGL/lv_sim_codeblocks_win-master/lv_sim_codeblocks_win-master/lvgl/src/lv_core/lv_obj.c:730: undefined reference to `lv_debug_log_error'
obj\Debug\lvgl\src\lv_core\lv_obj.o: In function `lv_obj_set_width':
D:/LittlevGL/lv_sim_codeblocks_win-master/lv_sim_codeblocks_win-master/lvgl/src/lv_core/lv_obj.c:785: undefined reference to `lv_debug_check_null'
D:/LittlevGL/lv_sim_codeblocks_win-master/lv_sim_codeblocks_win-master/lvgl/src/lv_core/lv_obj.c:785: undefined reference to `lv_debug_log_error'
obj\Debug\lvgl\src\lv_core\lv_obj.o: In function `lv_obj_set_height':
D:/LittlevGL/lv_sim_codeblocks_win-master/lv_sim_codeblocks_win-master/lvgl/src/lv_core/lv_obj.c:797: undefined reference to `lv_debug_check_null'
D:/LittlevGL/lv_sim_codeblocks_win-master/lv_sim_codeblocks_win-master/lvgl/src/lv_core/lv_obj.c:797: undefined reference to `lv_debug_log_error'
obj\Debug\lvgl\src\lv_core\lv_obj.o: In function `lv_obj_align':
D:/LittlevGL/lv_sim_codeblocks_win-master/lv_sim_codeblocks_win-master/lvgl/src/lv_core/lv_obj.c:812: undefined reference to `lv_debug_check_null'
D:/LittlevGL/lv_sim_codeblocks_win-master/lv_sim_codeblocks_win-master/lvgl/src/lv_core/lv_obj.c:812: undefined reference to `lv_debug_log_error'
D:/LittlevGL/lv_sim_codeblocks_win-master/lv_sim_codeblocks_win-master/lvgl/src/lv_core/lv_obj.c:821: undefined reference to `lv_debug_check_null'
D:/LittlevGL/lv_sim_codeblocks_win-master/lv_sim_codeblocks_win-master/lvgl/src/lv_core/lv_obj.c:821: undefined reference to `lv_debug_log_error'
obj\Debug\lvgl\src\lv_core\lv_obj.o: In function `lv_obj_align_origo':
D:/LittlevGL/lv_sim_codeblocks_win-master/lv_sim_codeblocks_win-master/lvgl/src/lv_core/lv_obj.c:962: undefined reference to `lv_debug_check_null'
D:/LittlevGL/lv_sim_codeblocks_win-master/lv_sim_codeblocks_win-master/lvgl/src/lv_core/lv_obj.c:962: undefined reference to `lv_debug_log_error'
D:/LittlevGL/lv_sim_codeblocks_win-master/lv_sim_codeblocks_win-master/lvgl/src/lv_core/lv_obj.c:974: undefined reference to `lv_debug_check_null'
D:/LittlevGL/lv_sim_codeblocks_win-master/lv_sim_codeblocks_win-master/lvgl/src/lv_core/lv_obj.c:974: undefined reference to `lv_debug_log_error'
Process terminated with status 1 (0 minute(s), 39 second(s))
50 error(s), 654 warning(s) (0 minute(s), 39 second(s))
embeddedt commented 4 years ago

It appears that you've tried to update to a newer version of LittlevGL than what's included in the project.

CodeBlocks, for some reason, does not automatically pick up on new files (unlike most other IDEs I've used). You have to manually right-click the lvgl folder in the sidebar and choose "Add files recursively". Or, you can wait for me to update this project (I can do it this weekend).

MyVanitar commented 4 years ago

Yes, I copied the latest files for each folder on the hard disk. No probelm. I will wait till you update it. Thanks

embeddedt commented 4 years ago

Updated in https://github.com/littlevgl/lv_sim_codeblocks_win/commit/6b36852c1baedcaa15f17205e4bfa028945f02a8. Please let me know if it works.

MyVanitar commented 4 years ago

Thanks. Please check these errors

obj\Release\lv_drivers\win_drv.o:win_drv.c:(.text+0x259): undefined reference to `CreateBitmap@20'
obj\Release\lv_drivers\win_drv.o:win_drv.c:(.text+0x280): undefined reference to `CreateCompatibleDC@4'
obj\Release\lv_drivers\win_drv.o:win_drv.c:(.text+0x291): undefined reference to `SelectObject@8'
obj\Release\lv_drivers\win_drv.o:win_drv.c:(.text+0x2dc): undefined reference to `BitBlt@36'
obj\Release\lv_drivers\win_drv.o:win_drv.c:(.text+0x2ef): undefined reference to `SelectObject@8'
obj\Release\lv_drivers\win_drv.o:win_drv.c:(.text+0x2fa): undefined reference to `DeleteDC@4'
obj\Release\lv_drivers\win_drv.o:win_drv.c:(.text+0x319): undefined reference to `DeleteObject@4'
collect2.exe: error: ld returned 1 exit status
Process terminated with status 1 (0 minute(s), 55 second(s))
8 error(s), 673 warning(s) (0 minute(s), 55 second(s))
MyVanitar commented 4 years ago

Sorry, I tested with 6.0. Let me try with 6.1

MyVanitar commented 4 years ago

I tested with your provided versions and I get the same errors (8 errors)

embeddedt commented 4 years ago

What version of CodeBlocks are you using (I am using 17.12)? Did you choose the MinGW edition?

I don't see these errors when I build.

MyVanitar commented 4 years ago

I downloaded this:

2019-12-07_0-42-29

embeddedt commented 4 years ago

Interesting.

Did you make any changes to the build settings, by chance?

MyVanitar commented 4 years ago

Nothing. Actually this is the first time I use this compiler. I just loaded the file and tried to build it. I use Windows 10 X64

embeddedt commented 4 years ago

I looked up the error you got and it seems that you need to link with the gdi32 library.

You'll need to right-click on the LittlevGL project in the sidebar and open the settings/properties window. Then you can choose the Build targets tab. It should look like this (without the "New build target" dialog):

After that, choose "Build options". There should be a spot somewhere to add to the list of libraries to link with. You should add "gdi32" to that list.

MyVanitar commented 4 years ago

For an unknown reason, this time the project was built successfully. I think I had started the computer on a hibernate mode, but it needed a fresh restart

Thank you very much for your support. so the problem solved without this last recommendation

embeddedt commented 4 years ago

Great! I'll close this issue then.