![]() |
|
|
![]()
|
|
| BearTime |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 31.1.2006 Репутация: нет Всего: нет |
Подскажите, пожалйста!
Есть Dll & Lib для неё, собранные на VC. Что необходимо сделать чтобы не грузить динамически Dll? |
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 24 Всего: 98 |
добавить .lib к проекту -- Project->Add to Project
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| Schumi |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 5.4.2006 Репутация: 1 Всего: 1 |
Кстати, такое как - то пробовал, так она не хотела линковать...
|
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 24 Всего: 98 |
вот прямо так и говорила -- "не хочу линковаться"? так просить лучше нужно было. может уютную обстановку создать нужно было. понятно что при всех она стеснялась... -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| BearTime |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 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 статически? |
|||
|
||||
| VectorMan |
|
|||
|
Antihero ![]() Профиль Группа: Участник Сообщений: 110 Регистрация: 9.4.2006 Репутация: нет Всего: 4 |
coff2omf.exe должна быть в папке bin билдера. её и используй
Это сообщение отредактировал(а) VectorMan - 11.4.2006, 21:31 |
|||
|
||||
| BearTime |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 31.1.2006 Репутация: нет Всего: нет |
coff2omf.exe конечно есть. Но Lib после неё выходит какой то облегчённый. Даже через чур. Может опции не те.
-lib:ms |
|||
|
||||
| VectorMan |
|
|||
|
Antihero ![]() Профиль Группа: Участник Сообщений: 110 Регистрация: 9.4.2006 Репутация: нет Всего: 4 |
coff2omf конвертит не какие попало библиотеки а только библиотеки импорта
|
|||
|
||||
| BearTime |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 31.1.2006 Репутация: нет Всего: нет |
Не отрицаю, что библиотеки импорта.
Но, как преобразовать библиотеку из формата COFF в OMF? |
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 24 Всего: 98 |
если coff2omf не помог -- никак
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| BearTime |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 31.1.2006 Репутация: нет Всего: нет |
Жаль.
Может кто-нибудь всё же подскажет?! Eppur si muove! |
|||
|
||||
| Mikhail88 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 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 |
|||
|
||||
| BearTime |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 31.1.2006 Репутация: нет Всего: нет |
Спасибо, Mikhail88!
Только DLL & Lib собраны в IDE под Microsoft. |
|||
|
||||
| Mikhail88 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 17.4.2006 Репутация: нет Всего: нет |
"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 |
|||
|
||||
| BearTime |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 31.1.2006 Репутация: нет Всего: нет |
Mikhail88, СПАСИБО!
Попытаюсь... |
|||
|
||||
![]()
|
| Правила форума "С++ 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. |