Например TDA7294

Форум РадиоКот • Просмотр темы - IAR правильное оформление библиотеки
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Пт авг 29, 2025 11:23:44

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Форум закрыт Эта тема закрыта, Вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 6 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: IAR правильное оформление библиотеки
СообщениеДобавлено: Ср апр 13, 2011 10:05:39 
Родился

Зарегистрирован: Вт дек 14, 2010 11:15:48
Сообщений: 7
Рейтинг сообщения: 0
Ситуация: хочу скрыть исходники некоторых функций. В 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 )

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: IAR правильное оформление библиотеки
СообщениеДобавлено: Ср апр 13, 2011 10:14:48 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 98
Рейтинг сообщений: 2117
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18405
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
на сколько я понимаю, вы должны компилировать библиотеку с функцией без extern, а при компиляции основного файла иметь хидер, где будет описан прототип этой функции, но уже с extern. и естественно, линкер должен прилинковывать вашу библиотеку.

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: IAR правильное оформление библиотеки
СообщениеДобавлено: Ср апр 13, 2011 10:33:06 
Родился

Зарегистрирован: Вт дек 14, 2010 11:15:48
Сообщений: 7
Рейтинг сообщения: 0
Есть хидер с описание прототипа (забыл упомянуть). В нем указано

extern void Test(void);

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: IAR правильное оформление библиотеки
СообщениеДобавлено: Ср апр 13, 2011 10:37:33 
Опытный кот

Карма: 1
Рейтинг сообщений: 52
Зарегистрирован: Чт мар 12, 2009 16:31:05
Сообщений: 804
Рейтинг сообщения: 0
В проекте надо подключить.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: IAR правильное оформление библиотеки
СообщениеДобавлено: Ср апр 13, 2011 10:50:29 
Родился

Зарегистрирован: Вт дек 14, 2010 11:15:48
Сообщений: 7
Рейтинг сообщения: 0
Да подключил я. Не обращался бы, если бы что-то не так подключил.

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\ ............

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: IAR правильное оформление библиотеки
СообщениеДобавлено: Ср апр 13, 2011 20:54:09 
Опытный кот
Аватар пользователя

Зарегистрирован: Вс янв 18, 2009 21:12:49
Сообщений: 703
Рейтинг сообщения: 0
sich_zp, читать лень?..

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

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

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


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Форум закрыт Эта тема закрыта, Вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 6 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y