2016-06-16 8 views
0

Я сделал несколько google, и все, что я нахожу, - это способ сделать vC++ dll совместимым с C++ builder через COFF2OMF. Но мне нужно привести dll C++ в vC++. Есть ли аналогичный инструмент, который создает совместимый с vC++ .lib из dll C++ builder?В любом случае, чтобы связать dll, скомпилированную с помощью C++ builder в коде vC++?

Заранее спасибо.

+1

Просто перекомпилировать с помощью компилятора, который вы хотите использовать. –

+0

Я не могу этого сделать. Есть некоторые vcl заголовки из C++ builder. – ras

+0

Что пытаются импортировать? Если вы хотите импортировать классы, которые никогда не будут работать. –

ответ

0

Если интерфейс вашей DLL (функции, которые были экспортированы) не зависят от VCL и объекта паскаля, вы можете сделать один на методы ниже:

  1. извлечь .lib из DLL с помощью используя методы, описанные here и связывание сгенерированного LIB в проекте.
  2. Используйте LoadLibrary(), GetProcAddress(), чтобы динамически загружать DLL и использовать экспортированные функции.

Имейте в виду, что ваша библиотека может зависеть от библиотек VCL и ... что затрудняет их использование. также я должен повторить это, если какие-либо данные VCL или объекта pascal используются в экспортированных функциях, вы не сможете использовать эту DLL вообще.

Сэм

0

COFF2OMF.EXE неправильный способ использовать DLL VC++ в C++ Builder. Его следует использовать только при преобразовании статической LIB . Нет необходимости в DLL-импорте LIB. Вместо этого вы должны использовать IMPLIB.EXE, чтобы сгенерировать новый LIB импорта LIB, совместимый с C++ Builder, непосредственно из библиотеки DLL.

В VC++ эквивалент использовать DUMPBIN.EXE в список экспорта DLL, а затем написать .DEF файл, определяющий эти экспорта, а затем запустить .DEF через LIB.EXE создать совместимый импортировать VC++ LIB.

Смотрите этот блог для более подробной информации:

Create .lib file from .dll

 Смежные вопросы

  • Нет связанных вопросов^_^