Ситуация: хочу скрыть исходники некоторых функций. В IAR. Для этого хочу создать откомпилированную библиотеку.
Создаю новый проект. В настройках "General options", на закладке "Output" указываю что это библиотека.
Создаю текст функции. Самый простой для теста.
Код:
#ifndef FUNCS_H
#define FUNCS_H
extern "C" void Test(void)
{
}
#endif
Компилирую все это. Компиляция проходит хорошо, без ошибок. В результате получаю файл "Func.r90". Этот файл перемещаю в каталог той программы, к которой подключаю данный модуль. Подключаю к проекту данный файл. Он подключается. Вызываю функцию из программы как Test(); После компиляции линкер выдает такую ошибку
Error[e46]: Undefined external "Test" referred in main ( Q:\Program\Controllers\ElFiltr\ElFiltr\Debug\Obj\main.r90 )
Вопрос: Почему линкер эту функцию ищет не там где надо? И как надо все это сделать, чтобы заработало?
Заранее спасибо за ответ!