Я использую Qt (использует библиотеки c ++ code + Qt) на платформе Windows и в процессе переноса своего проекта на платформу Linux.
Используя Qt, это был очень простой процесс, и мой проект работает на платформе Linux без каких-либо изменений.
Однако нам нужно использовать сторонние скомпилированные окна .lib
со связанным заголовочным файлом. Очевидно, что этот файл не может работать в Linux, но я читал посты, в которых предлагается использовать Wine для этого.
В общем, мой проект будет работать как обычный проект Linux (Ubuntu), но я хотел бы включить это .lib
использование файла Wine
, Я не смог найти однозначного ответа «как это сделать». Я не уверен, что вы используете Wine
перевести .lib
в .so
файл или если вам нужно статически связать его с каким-то «виноподобным» соглашением …
Может ли кто-нибудь помочь направить меня в правильном направлении?
Спасибо 🙂
Вы пытались скомпилировать под Windows и запустить всю программу под Wine?
Я не уверен, что вы можете соединять программы Wine и Linux.
AFAIK, вы не можете создавать гибридные приложения с Wine (т. Е. Связывать исполняемый файл C ++ Linux с некоторыми статическими библиотеками Linux и статическими библиотеками Windows).
Одним из решений, которое я предлагаю, является инкапсуляция вашей библиотеки Windows в программу Windows, которая действует как некоторая сетевая служба, а затем вы заставляете свое приложение Linux общаться с библиотекой Windows через сеть.
Тем не менее, это добавляет сложности вашему программному обеспечению, требует, чтобы вы знали, как выполнять какое-то сетевое программирование (однако, в наши дни это довольно легко сделать), и не подходит для всех видов библиотек, особенно если ваша библиотека имеет какой-то графический интерфейс.
Я не могу представить, что гибридный подход будет работать. В любом случае, выполнение части вашей программы как собственного приложения, а другой части внутри WINE не даст вам большого преимущества по сравнению с полной программой, выполняемой в WINE. В любом случае ВИН необходим.
Основным недостатком запуска полной программы в WINE является внешний вид графического интерфейса, который может показаться немного чуждым системе. Тем не менее, использование правильной настройки для WINE минимизирует проблему. И как примечание, большинство пользователей Linux привыкли к различным концепциям графического интерфейса из-за различных доступных сред рабочего стола. Лично у меня на рабочем столе KDE работает много приложений GNOME.
Я бы лично попробовал запустить вашу программу в WINE. Это делает разработку намного проще. Инструмент моделирования цепей, который довольно известен среди инженеров-электриков, использует этот подход. Это называется LTSpice. Хотя доступны только двоичные файлы Windows, разработчики тестируют его с WINE, чтобы убедиться, что он работает в Linux. Признано, что это инструмент, предлагаемый бесплатно, но сообщество принимает этот подход.