Как сделать для Wine обёртку над библиотекой, которая вызывала бы Linux версию этой библиотеки?

Приветствую!
В общем, есть прога, которая через библиотеку работает с оборудованием,
под Wine саму прогу запустил, а вот с оборудованием проблемка, т.к. Wine пока что не может нормально с USB работать.
Нашёл версию этой библиотеки для Linux, создал простейшую прогу на c++, которая дёргает функции из линуксовой библиотеки и оборудование ей отвечает.

Теперь нужно как-то заставить Wine грузить, эм, линуксовую версию библиотек, но, думаю, из-за разницы принципов
напрямую это сделать не получится, поэтом нужна некая "прослойка", которая перехватывала вызовы функций родной библиотеки и выполняла бы вызов линуксовой версии.

Интересует, как написать эту "прослойку" ? Подскажите, пожалуйста, может быть есть готовый мануал? Или хотя бы что гуглить...

P.S. Заголовочный файл самой библиотеки есть.
  • Вопрос задан
  • 581 просмотр
Решения вопроса 2
PavelK
@PavelK Автор вопроса
Нашёл в документации, пункт 5
https://wiki.winehq.org/Winelib_User%27s_Guide
Ответ написан
Комментировать
@Koncord
Можно сделать fakedll с помощью winebuild.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
Nipheris
@Nipheris Куратор тега C++
А зачем так усложнять? Линуксовую библиотеку - в отдельный процесс-демон, и общайтесь с ним по юниксовым/сетевым сокетам.
Или исходных кодов основной программы нет в распоряжении?
Ответ написан
Я бы предложил:
1. Перекомпиляции основную прогу под Linux
2. Можно сделать http клиент, который будет работать с оборудованием и с ним потом взаимодействовать (тут можно сказать, что барин знает толк в извращениях)))
Первый вариант предпочтительнее.
Ответ написан
Taraflex
@Taraflex
Ищу работу. Контакты в профиле.
Подмените библиотеку на самописную (виндовую), которая будет по какому-нибудь rpc общаться с фоновой линуксовой программой (которая уже непосредственно будет осуществлять системные вызовы).
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы