Вопрос

Вопрос: Возможно ли скомпилировать программу в Linux, используя .dll-файл?

К чему все это ведет: Это .dll будет использоваться для записи расширения php к некоторому проприетарному программному обеспечению третьей стороны.

Справочная информация и исследования:

Мне дали библиотеку под названием proprietary.lib.Мне было любопытно, так как я никогда не видел .lib расширение раньше, поэтому я набрал:

file proprietary.lib

Результатом было:

proprietary.lib:  current ar archive

Я провел кое-какие исследования и обнаружил, что ar является более или менее tar (и на самом деле, я думаю tar с тех пор заменил ar в большинстве сред *nix).

После осмотра ar страница пользователя, я видел t option, который отображает табличный список содержимого этого архива.Прохладный.Итак, я печатаю:

ar t proprietary.lib

И получить:

proprietary.dll
proprietary.dll
... (snip X lines) ...
Это было полезно?

Решение

Вы могли бы попробовать извлечь ar файл (пакеты Debian являются ar files, fwiw) и запустите file о содержимом.

Вы не сможете использовать библиотеки DLL Windows без перевода.Единственные известные мне DLL-файлы, которые изначально работают в Linux, скомпилированы с помощью Mono.

Если кто-то предоставил вам проприетарную двоичную библиотеку для программирования, вы должны убедиться, что она скомпилирована для целевой архитектуры (ничего подобного попытке использовать двоичный файл am ARM в системе x86) и что она скомпилирована для Linux.

Как бы то ни было ... Удачи.Я ненавижу программировать на основе сторонних библиотек, где у меня есть документация и источник.

Другие советы

Недавние события, возможно, изменили ситуацию:Существует загружаемая библиотека доступна функция для Linux, которая позволяет загружать библиотеку DLL Windows, а затем вызывать функции внутри.

Итак, если .dll файл, который у вас есть, на самом деле является Windows DLL, вы можете найти способ использовать его в своем программном обеспечении.

dll-файлы обычно представляют собой общие библиотеки Windows.(Также возможно, что кто-то в Linux создал обычную библиотеку Linux и назвал ее .по какой-то причине dll.)

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

Да , мы можем использовать dll с помощью wine .просто установите wine64 в Linux

sudo apt-get install wine64
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top