Например TDA7294

Форум РадиоКот :: Просмотр темы - IAR правильное оформление библиотеки
Форум РадиоКот
https://radiokot.ru/forum/

IAR правильное оформление библиотеки
https://radiokot.ru/forum/viewtopic.php?f=20&t=46460
Страница 1 из 1

Автор:  sich_zp [ Ср апр 13, 2011 10:05:39 ]
Заголовок сообщения:  IAR правильное оформление библиотеки

Ситуация: хочу скрыть исходники некоторых функций. В 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 )

Вопрос: Почему линкер эту функцию ищет не там где надо? И как надо все это сделать, чтобы заработало?
Заранее спасибо за ответ!

Автор:  ARV [ Ср апр 13, 2011 10:14:48 ]
Заголовок сообщения:  Re: IAR правильное оформление библиотеки

на сколько я понимаю, вы должны компилировать библиотеку с функцией без extern, а при компиляции основного файла иметь хидер, где будет описан прототип этой функции, но уже с extern. и естественно, линкер должен прилинковывать вашу библиотеку.

Автор:  sich_zp [ Ср апр 13, 2011 10:33:06 ]
Заголовок сообщения:  Re: IAR правильное оформление библиотеки

Есть хидер с описание прототипа (забыл упомянуть). В нем указано

extern void Test(void);

Все равно не находит Пробовал и с extern и без него и в разных вариациях.

Автор:  Vov123 [ Ср апр 13, 2011 10:37:33 ]
Заголовок сообщения:  Re: IAR правильное оформление библиотеки

В проекте надо подключить.

Автор:  sich_zp [ Ср апр 13, 2011 10:50:29 ]
Заголовок сообщения:  Re: IAR правильное оформление библиотеки

Да подключил я. Не обращался бы, если бы что-то не так подключил.

Linking
xlink.exe Q:\Program\Controllers\ElFiltr\ElFiltr\Func.r90 Q:\Program\Controllers\ElFiltr\ElFiltr\Debug\Obj\main.r90 -o Q:\Program\Controllers\ElFiltr\ElFiltr\ ............

Может что в настройках надо выставить?

Автор:  asteroid7 [ Ср апр 13, 2011 20:54:09 ]
Заголовок сообщения:  Re: IAR правильное оформление библиотеки

sich_zp, читать лень?..

Код:
cmd -> ...\avr\bin -> xar.exe

Удобнее, перечисление файлов r90 в текстовой засунуть. Имя - строка.
Код:
xar.exe -V -x list.txt -o security.lib

Именно "security.lib" пристыковывается к проекту...

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/