использовать файл lib в Delphi. как импортировать файл lib - PullRequest
2 голосов
/ 21 декабря 2011

Я получил API для файла lib. С этим файлом lib .h файлы были поставлены. Теперь я хочу вызвать файл lib в Delphi и использовать его функциональность.

как файл lib подключается к Delphi?

обновление: хорошо, нужно много работы, что если я получу DLL? как мне связать это с Delphi?

Ответы [ 2 ]

5 голосов
/ 21 декабря 2011

Вы не можете использовать файл lib для ссылки на DLL из Delphi. Файл .lib будет использоваться клиентами DLL на C или C ++.

В Delphi вам нужно вручную перевести заголовочный файл .h в единицу импорта Pascal, используя ключевое слово external. Пример этого модуля Windows.pas в источнике Delphi. Тот факт, что вы не можете использовать файл .lib, на самом деле не является большой проблемой, потому что вам нужно переводить файл .h независимо от того, что.

0 голосов
/ 06 февраля 2015

В некоторых случаях можно извлечь элементы из файла .lib с помощью таких инструментов, как конвертер объектных файлов, из Agner Fog (см. http://www.agner.org/optimize/?e=0,34,36) в файлы .obj.

Синтаксис

objconv.exe libname.lib -lx

для извлечения всех членов.

Извлекая всех участников, вы можете убедиться, что ни одного члена не пропало. Однако, если есть другие зависимости (для других .lib-файлов), они не будут разрешены и должны быть разрешены вручную.

Также требуется перевод файлов заголовков.

Примечание. Формат объектного файла также можно преобразовать. Delphi понимает только OMF, а компиляторы Intel (например, выкладывают только COFF). Таким образом, требуется преобразование, которое также может быть выполнено инструментом.

Как уже говорилось, это работает только в определенных случаях и, безусловно, требует определенных знаний в этой области, потому что компилятор не сильно поможет с сообщениями об ошибках (часто сообщения раздражают и вводят в заблуждение).

...