Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Экспорт из ДЛЛ 
:(
    Опции темы
HappyLife
Дата 5.10.2006, 13:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 642
Регистрация: 17.5.2006

Репутация: 4
Всего: 8



Приветсвую Вас уважаемые форумчане.
Проблема произошла при линковки функций из ДЛЛ.
В длл, все функции имеют сишные имена, что конечно понятно.
Я статически подключаю либ и h файл.
В Header'e все функции обладают __declspec(dllimport) extern "C".

Но при вызове MtCreate(), например, он пытаеться связать ей с цункцией _MtCreate() и происходит ошибка.



Это сообщение отредактировал(а) HappyLife - 5.10.2006, 13:21
PM MAIL   Вверх
cyberstream
Дата 5.10.2006, 13:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 138
Регистрация: 7.9.2006

Репутация: 2
Всего: 4



Код h-файла в студию.
--------------------
Не знаешь кого спросить? - Спроси google!
PM MAIL   Вверх
Romikgy
Дата 5.10.2006, 14:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 11
Всего: 146



Цитата(HappyLife @  5.10.2006,  12:15 Найти цитируемый пост)
вызове MtCreate(),

а что это ?
Цитата(HappyLife @  5.10.2006,  12:15 Найти цитируемый пост)
__declspec(dllimport) extern "C".

и незнаю на сколько влияет ,но я всегда видел наоборот сперва экстерн


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
HappyLife
Дата 5.10.2006, 14:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 642
Регистрация: 17.5.2006

Репутация: 4
Всего: 8



Цитата(Romikgy @  5.10.2006,  14:21 Найти цитируемый пост)
__declspec(dllimport)

Ни насколько это не влияет.....
А проблема с подчеркиванием решилась сделав объявление функции __stdcall
Однако связывание так и не произошло....
А что собсно код?

Код

#define MT_API extern "C" __declspec(dllimport)

MT_API int  __stdcall        MtGetVersion();


Код

__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
      ShowMessage(MtGetVersion());

}


Мб, попалась битая LIB....
Подскажите, чем сделать LIB имея ДЛЛ?



Это сообщение отредактировал(а) HappyLife - 5.10.2006, 14:35
PM MAIL   Вверх
Romikgy
Дата 5.10.2006, 15:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 11
Всего: 146



Цитата(HappyLife @  5.10.2006,  13:28 Найти цитируемый пост)
Подскажите, чем сделать LIB имея ДЛЛ?

зачем те либ ? если есть длл?
Цитата(HappyLife @  5.10.2006,  13:28 Найти цитируемый пост)
 ShowMessage(MtGetVersion());

имхо шоумесаге требует строку для вывода , а та даешь ей 
Цитата(HappyLife @  5.10.2006,  13:28 Найти цитируемый пост)
int


Цитата(HappyLife @  5.10.2006,  13:28 Найти цитируемый пост)
int




--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
HappyLife
Дата 6.10.2006, 11:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 642
Регистрация: 17.5.2006

Репутация: 4
Всего: 8



Я знаю в чем ошибка и что требуе ShowMessage он имеет перегруженный метод....... Ошибка во время линковки... LIB мне нужен чтобы сделать статическую линковку....
PM MAIL   Вверх
Romikgy
Дата 6.10.2006, 11:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 11
Всего: 146



Цитата(HappyLife @  6.10.2006,  10:37 Найти цитируемый пост)
мне нужен чтобы сделать статическую линковку.... 

причем здесь линковка к dll ????


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0484 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.