Конвертация сторонних библиотек из *.dll в *.lib

Иногда случается так, что при наличии сторонней DLL (и документации на нее), требуется использовать ее совместно с компилятором dmd. Часто при таком раскладе, при попытке компиляции приложения «в лоб», программист получает шикарный набор ругательств на английском от линковщика, используемого dmd: хотя программа и компилируется, но линковщик не может собрать из объектных файлов само приложение. Что делать?

Для начала скачиваем вот этот пакет утилит, разработанных Digital Mars (или переделанных этой компанией) и распаковываем куда-нибудь на видное место утилитку implib.exe.

Из командной строки Windows отдаем следующую команду:

<путь до файла implib.exe>/implib.exe /s /noi <путь до сгегенерированного implib файла> <путь со скопированной DLL>

После этого помещаем полученный файл <сгегенерированный implib файл>.lib в папку C:\D\dmd2\windows\lib и компилируем приложение:

dmd <файл приложения.d> <файл библиотеки.lib>

На этом все!

Добавить комментарий