Хочу сделать свою библиотеку, чтобы юзать нужные мне функции в различных проектах.
Взял для теста две функции в либе (в функциях смысла не искать, они тупо для теста):
Код:
#include <reg51.h>
void set_port(unsigned char f)
{
P3=f;
}
void delay()
{
int i;
for(i=0;++i;i<40000);
}
Заголовочный файл:
Код:
#ifndef __MYLIB_H__
#define __MYLIB_H__
extern void set_port(unsigned char f);
extern void delay(void);
#endif
И проект с полученной либой:
Код:
#include <reg51.h>
#include <mylib.h>
void main()
{
P3=0x81;
set_port(0x00);
delay();
set_port(0xAA);
delay();
}
Библиотека собирается нормально. А при ее использовании и сборке проекта - куча варнингов типа:
*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL SYMBOL: DELAY
*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL SYMBOL: _SET_PORT
*** WARNING L1: UNRESOLVED EXTERNAL SYMBOL SYMBOL: DELAY
Причем HEX файл создается, но не работает как положено. Не могу никак понять причину, в документации по Кеил тоже ничего толкового нет, только как создать LIB и всё. Помогите пофиксить этот маленький проект. Исходники прилагаются. Спасибо.
2moders: перенесите плз топик в "Микроконтроллеры и ПЛИС"