![]() |
|
|
![]()
|
|
| NiJazz |
|
|||
![]() Jazz coder ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2286 Регистрация: 10.8.2003 Где: Москва Репутация: нет Всего: 23 |
У меня есть DLL и Lib к ней - by MSVC++.
Как с помощью lib в С++ Builder подключить мою DLL? |
|||
|
||||
| NiJazz |
|
||||||
![]() Jazz coder ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2286 Регистрация: 10.8.2003 Где: Москва Репутация: нет Всего: 23 |
Я беру dll без lib и прогоняю её через утилиту implib. Создаётся lib типа OMF, то есть подходящая для билдера. В коде подключаю её:
Вот что получаю:
В чём тут может быть дело? PS Где в свойствах проекта в билдере можно указать подключаемые библиотеки? Добавлено @ 17:43 Забыл сказать, что в проекте VC++ я указал, что экспортировать функцию нужно понятно для других компилеров, поэтому impdef и прочие не помогут. Добавлено @ 17:44 Экспортируемая DLL функция:
Это сообщение отредактировал(а) NiJazz - 17.4.2005, 17:45 |
||||||
|
|||||||
| Vyacheslav |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 47 Всего: 59 |
View->Project Manager->правая клавиша мышки на проекте->всплывающее меню-> Add
-------------------- С уважением, Вячеслав Ермолаев |
|||
|
||||
| NiJazz |
|
|||
![]() Jazz coder ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2286 Регистрация: 10.8.2003 Где: Москва Репутация: нет Всего: 23 |
Мне ж не cpp, a lib нужно добавить.
|
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 24 Всего: 98 |
есть у меня подозрение что для статической линковки заголовочный файл нужен...
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| Vyacheslav |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 47 Всего: 59 |
И что из этого? Уже начинает надоедать. Говоришь как надо делать. Вместо того, чтобы сделать как сказали, начинаются теоретические рассуждения.
Ты пробовал? Уверен, что нет. Если религиозные убеждения не позволяют воспользоваться этим советом, вставляй через
-------------------- С уважением, Вячеслав Ермолаев |
|||
|
||||
| NiJazz |
|
|||
![]() Jazz coder ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2286 Регистрация: 10.8.2003 Где: Москва Репутация: нет Всего: 23 |
Vyacheslav
Теории тут нет, просто невнимательность. До этого я подключал прагмой. _hunter Ну h-файл конечно есть. |
|||
|
||||
| Bima |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 518 Регистрация: 15.8.2006 Репутация: 2 Всего: 2 |
Ситуация, как в теме, только за исключением того, что нет *.h файла.
Короче говоря есть Dll и я могу сделать lib через утилиту implib, еще известны какие там функции с параметрами вызова. Если добавляю через View->Project Manager... Add, то насколько я понимаю, нет заголовочного файла, где описаны функции, поэтому, при вызове этих функций, компилятор ругается. как правильно сделать, если есть test.dll (созданая не мной, на Delphi, исходников нет) и в этой dll, есть функция: test: function (param1: PChar): Boolean cdecl; Предпологаю, что ее нужно наверно записать как bool test(char* param1); Это сообщение отредактировал(а) Bima - 5.2.2007, 13:11 -------------------- Чтобы дойти до цели, надо идти. Клавиатура и мышь - это главные инструменты прогресса. |
|||
|
||||
| Bima |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 518 Регистрация: 15.8.2006 Репутация: 2 Всего: 2 |
Динамически я могу подключить эту dll.
код при динамическом подключении такой: *.h
*.cpp
Неудобно постоянно получать адрес функции. У меня этих функций в dll штук 20 и постоянно узнавать их адрес, как то не удобно, хотелось бы один раз объявить эти функции и пользоваться. Это сообщение отредактировал(а) Bima - 6.2.2007, 10:43 -------------------- Чтобы дойти до цели, надо идти. Клавиатура и мышь - это главные инструменты прогресса. |
||||
|
|||||
| Bima |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 518 Регистрация: 15.8.2006 Репутация: 2 Всего: 2 |
Пытаюсь статически подключить так:
создал файл test.h
В *.cpp пишу так:
при компилировании мне выдает ошибку: [Linker Error] Unresolved external 'test(char *)' referenced from C:\MY PROJECT FOR C++ BILDER\test\KOD.OBJ Это сообщение отредактировал(а) Bima - 6.2.2007, 10:44 -------------------- Чтобы дойти до цели, надо идти. Клавиатура и мышь - это главные инструменты прогресса. |
||||
|
|||||
| Vyacheslav |
|
||||||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 47 Всего: 59 |
Bima,
Вы весь топик внимательно читали? Создатель топика начинал с
Ему вежливо намекнули, что он не прав. Надо либо
либо использовать
А Вы опять на те же грабли
Эта штука не работает. Уж не знаю почему, но неработает -------------------- С уважением, Вячеслав Ермолаев |
||||||||
|
|||||||||
| Bima |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 518 Регистрация: 15.8.2006 Репутация: 2 Всего: 2 |
читал и пробовал!!!
когда делаю через View->Project Manager->правая клавиша мышки на проекте->всплывающее меню-> Add (кстати я упоминал что и так делал), то ошибка таже самая:
когда делаю через
то же выскакивает ошибка
-------------------- Чтобы дойти до цели, надо идти. Клавиатура и мышь - это главные инструменты прогресса. |
||||||
|
|||||||
| bilbobagginz |
|
|||
![]() Naughtius Maximus ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8813 Регистрация: 2.3.2004 Где: Israel Репутация: нет Всего: 317 |
дык а переменная test вида char*, это переменная из твоей либы или как ?
-------------------- Я ещё не демон. Я только учусь. |
|||
|
||||
| Bima |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 518 Регистрация: 15.8.2006 Репутация: 2 Всего: 2 |
или как...
я знаю как функция объявлялась, когда писалась.... bool Test(char *param1); либ я сделал с помощью implib Dll работает, проверялась на дельфи и мой код динамического присоединения (см. выше). -------------------- Чтобы дойти до цели, надо идти. Клавиатура и мышь - это главные инструменты прогресса. |
|||
|
||||
| Vyacheslav |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 47 Всего: 59 |
Добавлено @ 14:16 Виноват. Скорее всего так
-------------------- С уважением, Вячеслав Ермолаев |
||||
|
|||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |