FASTSHIFT / WatchX

Open-source smart watch, based on LittlevGL Embedded GUI Library
GNU General Public License v3.0
817 stars 275 forks source link

PageManager移植问题 #11

Open marseric opened 2 years ago

marseric commented 2 years ago

您好,冒昧的打搅一下: 因为很喜欢watchX里面的pagemanager库。所以尝试把您的库集成到了之前自己的keil工程里面(stm32F429),并加上了--gnu选项。现在编译器报很多错误。您看可能是哪里的问题呢?感谢! Build started: Project: NETWORK ** Using Compiler 'V5.06 update 6 (build 750)', folder: 'D:\PROGRAM\Keil\ARM\ARMCC\Bin' Build target 'NETWORK' compiling main.c... ..\LWIP\lwip-1.4.1\src\include\ipv4\lwip/ip_addr.h(53): warning: #3135-D: attribute does not apply to any entity PACK_STRUCT_BEGIN ..\LWIP\lwip-1.4.1\src\include\ipv4\lwip/ip_addr.h(74): warning: #3135-D: attribute does not apply to any entity PACK_STRUCT_BEGIN ..\GUI\DisplayPrivate.h(19): warning: #1295-D: Deprecated declaration DisplayError_Init - give arg types void DisplayError_Init(); ..\GUI\DisplayPrivate.h(20): warning: #1295-D: Deprecated declaration Display_Init - give arg types void Display_Init(); ..\GUI\DisplayPrivate.h(21): warning: #1295-D: Deprecated declaration Display_Update - give arg types void Display_Update(); ..\Libraries\PageManager\PageManager.h(44): error: #20: identifier "class" is undefined class PageManager { ..\Libraries\PageManager\PageManager.h(44): error: #65: expected a ";" class PageManager { ..\Libraries\PageManager\PageManager.h(65): warning: #12-D: parsing restarts here after previous syntax error ); ..\Libraries\PageManager\PageManager.h(68): warning: #1295-D: Deprecated declaration PagePop - give arg types bool PagePop(); ..\Libraries\PageManager\PageManager.h(71): warning: #1295-D: Deprecated declaration PageStackClear - give arg types void PageStackClear(); ..\Libraries\PageManager\PageManager.h(72): warning: #1295-D: Deprecated declaration Running - give arg types void Running(); ..\Libraries\PageManager\PageManager.h(73): warning: #77-D: this declaration has no storage class or type specifier private: ..\Libraries\PageManager\PageManager.h(73): error: #65: expected a ";" private: ..\Libraries\PageManager\PageManager.h(80): error: #169: expected a declaration }; ..\GUI\DisplayPrivate.h(42): error: #757: variable "PageManager" is not a type name extern PageManager page; ..\GUI\DisplayPrivate.h(55): warning: #1295-D: Deprecated declaration lv_port_disp_init - give arg types void lv_port_disp_init(); ..\GUI\DisplayPrivate.h(67): error: #18: expected a ")" uint16_t time = LV_ANIM_TIME_DEFAULT, ..\GUI\DisplayPrivate.h(70): warning: #12-D: parsing restarts here after previous syntax error ); ..\GUI\DisplayPrivate.h(84): warning: #1295-D: Deprecated declaration AppWindow_Create - give arg types void AppWindow_Create(); ..\GUI\DisplayPrivate.h(86): warning: #1295-D: Deprecated declaration AppWindow_GetHeight - give arg types lv_coord_t AppWindow_GetHeight(); ..\GUI\DisplayPrivate.h(87): warning: #1295-D: Deprecated declaration AppWindow_GetWidth - give arg types lv_coord_t AppWindow_GetWidth(); main.c(212): warning: #223-D: function "W25QXX_Init" declared implicitly W25QXX_Init(); //SPI W25Q128 init 32MByte main.c(283): warning: #223-D: function "app_system_parameter_init" declared implicitly if(app_system_parameter_init()) main.c(193): warning: #177-D: variable "res" was declared but never referenced u8 res; main.c(194): warning: #177-D: variable "dtsize" was declared but never referenced u32 dtsize,dfsize; main.c(194): warning: #177-D: variable "dfsize" was declared but never referenced u32 dtsize,dfsize; main.c(195): warning: #177-D: variable "stastr" was declared but never referenced u8 stastr=0; main.c(196): warning: #177-D: variable "version" was declared but never referenced u8 version=0; main.c(197): warning: #177-D: variable "verbuf" was declared but never referenced u8 verbuf[12]; main.c(199): warning: #177-D: variable "icowidth" was declared but never referenced u8 icowidth; main.c(681): warning: #1035-D: single-precision operand implicitly converted to double-precision ad[0].Temp = p1ad[0].Rtad[0].Rtad[0].Rtad[0].Rt + p2ad[0].Rtad[0].Rtad[0].Rt + p3ad[0].Rtad[0].Rt + p4ad[0].Rt + p5;
main.c(681): warning: #1035-D: single-precision operand implicitly converted to double-precision ad[0].Temp = p1
ad[0].Rtad[0].Rtad[0].Rtad[0].Rt + p2ad[0].Rtad[0].Rtad[0].Rt + p3ad[0].Rtad[0].Rt + p4ad[0].Rt + p5;
main.c(681): warning: #1035-D: single-precision operand implicitly converted to double-precision ad[0].Temp = p1
ad[0].Rtad[0].Rtad[0].Rtad[0].Rt + p2ad[0].Rtad[0].Rtad[0].Rt + p3ad[0].Rtad[0].Rt + p4ad[0].Rt + p5;
main.c(725): warning: #1035-D: single-precision operand implicitly converted to double-precision ad[1].Temp = p1
ad[1].Rtad[1].Rtad[1].Rtad[1].Rt + p2ad[1].Rtad[1].Rtad[1].Rt + p3ad[1].Rtad[1].Rt + p4ad[1].Rt + p5;
main.c(725): warning: #1035-D: single-precision operand implicitly converted to double-precision ad[1].Temp = p1
ad[1].Rtad[1].Rtad[1].Rtad[1].Rt + p2ad[1].Rtad[1].Rtad[1].Rt + p3ad[1].Rtad[1].Rt + p4ad[1].Rt + p5;
main.c(725): warning: #1035-D: single-precision operand implicitly converted to double-precision ad[1].Temp = p1
ad[1].Rtad[1].Rtad[1].Rtad[1].Rt + p2ad[1].Rtad[1].Rtad[1].Rt + p3ad[1].Rtad[1].Rt + p4ad[1].Rt + p5;
main.c(769): warning: #1035-D: single-precision operand implicitly converted to double-precision ad[2].Temp = p1
ad[2].Rtad[2].Rtad[2].Rtad[2].Rt + p2ad[2].Rtad[2].Rtad[2].Rt + p3ad[2].Rtad[2].Rt + p4ad[2].Rt + p5;
main.c(769): warning: #1035-D: single-precision operand implicitly converted to double-precision ad[2].Temp = p1
ad[2].Rtad[2].Rtad[2].Rtad[2].Rt + p2ad[2].Rtad[2].Rtad[2].Rt + p3ad[2].Rtad[2].Rt + p4ad[2].Rt + p5;
main.c(769): warning: #1035-D: single-precision operand implicitly converted to double-precision ad[2].Temp = p1
ad[2].Rtad[2].Rtad[2].Rtad[2].Rt + p2ad[2].Rtad[2].Rtad[2].Rt + p3ad[2].Rtad[2].Rt + p4ad[2].Rt + p5;
main.c(812): warning: #1035-D: single-precision operand implicitly converted to double-precision ad[3].Temp = p1
ad[3].Rtad[3].Rtad[3].Rtad[3].Rt + p2ad[3].Rtad[3].Rtad[3].Rt + p3ad[3].Rtad[3].Rt + p4ad[3].Rt + p5;
main.c(812): warning: #1035-D: single-precision operand implicitly converted to double-precision ad[3].Temp = p1
ad[3].Rtad[3].Rtad[3].Rtad[3].Rt + p2ad[3].Rtad[3].Rtad[3].Rt + p3ad[3].Rtad[3].Rt + p4ad[3].Rt + p5;
main.c(812): warning: #1035-D: single-precision operand implicitly converted to double-precision ad[3].Temp = p1
ad[3].Rtad[3].Rtad[3].Rtad[3].Rt + p2ad[3].Rtad[3].Rtad[3].Rt + p3ad[3].Rtad[3].Rt + p4*ad[3].Rt + p5;
main.c(820): warning: #1035-D: single-precision operand implicitly converted to double-precision ad7705ctr1 += 0.5; main.c: 37 warnings, 6 errors "..\OBJ\Tempate.axf" - 6 Error(s), 37 Warning(s). Target not created. Build Time Elapsed: 00:00:10

FASTSHIFT commented 2 years ago

C不能直接用C++库,语法不兼容。可以把调用库的C文件改成CPP文件,或者重写PageManger使用结构体模拟class。