Создал проект в Keil uVision3, подключил к нему созданную lib-библиотеку, все header-файлы uc/GUI и файлы конфигурации. При компиляции получил множесто ошибок L6212E вроде этих:
Код
Error: Undefined symbol GUI_X_Init (referred from GUICore.o)
Error: Undefined symbol GUI_X_GetTaskId (referred from GUITask.o)
...
Код
#include <RTL.h>
#include "gui.h"
extern "C" void startTask() __task;
extern "C" void guiInitTask() __task;
int main()
{
os_sys_init(startTask);
return 0;
}
void startTask() __task
{
os_sys_init(guiInitTask);
os_tsk_delete_self();
}
void guiInitTask() __task
{
GUI_Init();
while(true);
}
Решил было, что напортачил с make-файлами и неправильно собрал библиотеку, решил проверить, подключил к проекту вместо lib-библиотеки исходники uc/GUI, получил аналогичные ошибки:
Код
Error: Undefined symbol GUI_X_ErrorOut (referred from gui_errorout.o)
...
Решил перепроверить с другим компилятором, создал проект в IAR, подключил к нему lib-библиотеку (созданную с помощью make-файлов идущих в составе uc/GUI под компилятор IAR), все header-файлы uc/GUI и файлы конфигурации. При компиляции получил ошибки:
Код
Error[e46]: Undefined symbol "GUI_X_Init" referred in GUICore
Error[e46]: Undefined symbol "GUI_X_GetTaskId" referred in GUICore
...
Проблема в том, что мне совсем не понятно, с чем связаны эти ошибки и как с ними бороться.