Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Lib из VС в С++Builder, Библиотека импорта 
V
    Опции темы
BearTime
  Дата 10.4.2006, 23:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Подскажите, пожалйста!
Есть Dll & Lib для неё, собранные на VC.
Что необходимо сделать чтобы не грузить динамически Dll?
PM MAIL   Вверх
_hunter
Дата 11.4.2006, 10:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 24
Всего: 98



добавить .lib к проекту -- Project->Add to Project


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Schumi
Дата 11.4.2006, 11:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Кстати, такое как - то пробовал, так она не хотела линковать...
PM ICQ YIM   Вверх
_hunter
Дата 11.4.2006, 12:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 24
Всего: 98



Цитата(Schumi @ 11.4.2006, 11:53 Найти цитируемый пост)
так она не хотела линковать...

вот прямо так и говорила -- "не хочу линковаться"?
так просить лучше нужно было. может уютную обстановку создать нужно было. понятно что при всех она стеснялась...


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
BearTime
Дата 11.4.2006, 20:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Среда выдаёт следующее сообщение:
"Build
[Linker Error] 'C:\PROGRAM FILES\BORLAND\CBUILDER6\COMMON\GLUT32.LIB' contains invalid OMF record, type 0x21 (possibly COFF)

"

Наличие COFF подсказало, что Dll & Lib от среды программирования близкой к Microsoft.
Вопрос остаётся тем же. Как конвертнуть Lib чтобы можно включить в проект Dll статически?
PM MAIL   Вверх
VectorMan
Дата 11.4.2006, 21:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Antihero
*


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

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



coff2omf.exe должна быть в папке bin билдера. её и используй

Это сообщение отредактировал(а) VectorMan - 11.4.2006, 21:31
PM   Вверх
BearTime
Дата 11.4.2006, 23:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



coff2omf.exe конечно есть. Но Lib после неё выходит какой то облегчённый. Даже через чур. Может опции не те.
-lib:ms
PM MAIL   Вверх
VectorMan
Дата 12.4.2006, 05:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Antihero
*


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

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



coff2omf конвертит не какие попало библиотеки а только библиотеки импорта
PM   Вверх
BearTime
Дата 12.4.2006, 20:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Не отрицаю, что библиотеки импорта.
Но, как преобразовать библиотеку из формата COFF в OMF?
PM MAIL   Вверх
_hunter
Дата 13.4.2006, 10:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 24
Всего: 98



если coff2omf не помог -- никак


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
BearTime
Дата 14.4.2006, 21:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Жаль.
Может кто-нибудь всё же подскажет?! smile


Eppur si muove!

PM MAIL   Вверх
Mikhail88
Дата 17.4.2006, 08:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



1. Посмотри http://www.rsdn.ru/article/devtools/bcbdll.xml
    "Создание в среде Borland C++ Builder dll, совместимой с Visual C++"

2. Вариант:
   а) Создай библиотеку импорта <имя_libBC>.lib из dll созданной в VC (<имя_dllVC>.dll) командой

        implib.exe -a <имя_libBC> <имя_dllVC>.dll

   б) Добавь полученную библиотеку импорта <имя_libBC>.lib в свой проект.

   в) Заголовок импортируемой в C++Builder функции (функций) в твоём проекте обязательно
       должен быть объявлен как extern "C" и __declspec(dllimport), например:

       extern "C" void __declspec(dllimport) func1(int param1);


Это сообщение отредактировал(а) Mikhail88 - 19.4.2006, 06:50
PM MAIL   Вверх
BearTime
Дата 19.4.2006, 22:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Спасибо, Mikhail88! 
Только DLL & Lib собраны в IDE под Microsoft.
 
PM MAIL   Вверх
Mikhail88
Дата 20.4.2006, 09:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата

Только DLL & Lib собраны в IDE под Microsoft.

"Lib собранный в IDE под Microsoft" - иметь НЕ ОБЯЗАТЕЛЬНО! 

--------
Вариант создания DLL в проекте на VC++ ("DLL собранной в IDE под Microsoft"):
   а) Обязательно в заголовке экспортируемых функций: __declspec(dllexport)
   б) Чтобы имена экспортируемых функций в DLL были "как есть", а не ?func1@PPR@@QAEXIIAAI0I@Z
присоединить к проекту def - файл с описанием экспортируемых функций. Пример:

LIBRARY      "dllVC.dll"
DESCRIPTION  'Windows Dynamic Link Library'

EXPORTS
    func1
    func2
    func3
--------

Посмотреть содержимое dll созданной в VC <имя_dllVC>.dll можно, например, в Total Commander.
Посмотреть содержимое созданной в результате импорта библиотеки <имя_libBC>.lib  можно утилитой tdump.exe. Например:

tdump.exe <имя_libBC>.lib  > tdump.txt

Фрагмент tdump.txt:

000D40 THEADR  _func1
000D5D COMENT  Purge: Yes, List: Yes, Class: 160 (0A0h), SubClass: 1 (01h)
    Dynamic link import (IMPDEF)
      Imported by: name
      Internal Name: _func1
      Module Name: dllVC.dll
      Imported name: func1
000DA5 MODEND

Работаю в группе разработчиков, где проекты ведутся на VC++ 6.0, C++Builder 6 и Delphi.
Взаимный обмен библиотеками на уровне статически компонуемых DLL.
Никаких проблем.
  

Это сообщение отредактировал(а) Mikhail88 - 20.4.2006, 09:42
PM MAIL   Вверх
BearTime
Дата 20.4.2006, 22:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Mikhail88, СПАСИБО! smile 
Попытаюсь... 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

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

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

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

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


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

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


 




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


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

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