Использование Winelib для портирования инструментария GUI только для Windows - PullRequest
5 голосов
/ 12 июля 2010

Мне нравится почти все, что касается инструментария DFL GUI для D, за исключением того, что он работает только в Windows, потому что это в основном красивая высокоуровневая оболочка для Windows API.Насколько сложно было бы просто перенести такой инструментарий на Linux (меня не волнует ни одна другая ОС, кроме Windows и Linux) с использованием Winelib?Какова вероятность того, что если я скомпилирую такую ​​библиотеку в Linux и свяжу ее с Winelib, она будет в основном «просто работать»?Какие неочевидные шаги могут быть задействованы?

Примечание. Для тех, кто не знаком с методами работы D с кодом C, код C может быть вызван непосредственно из D. Вам просто нужно перевести файл заголовка в D(это уже сделано для заголовков Win32, но не для заголовков Winelib. Я не уверен, нужно ли даже переводить заголовки Winelib или достаточно ли хороши заголовки Windows.), скомпилируйте код C с помощью компилятора C,и связать объектные файлы C в.

1 Ответ

1 голос
/ 08 мая 2011

Вам вообще не нужно использовать winelib, если вы уже строите для windows. Winelib существует только для обеспечения среды сборки Windows под Wine на платформе, не поддерживаемой Wine, а не на платформе x86 (например, linux ppc). Нет необходимости использовать его вообще, если ваша сборочная система уже собирает двоичные файлы Windows (без повышения производительности).

Одна вещь, которую вам нужно сделать, это убедиться, что Win32 API вызывает, что dll-библиотеки DFL используют работу под Wine (вам придется это делать, даже если вы использовали winelib).

Таким образом, нет необходимости использовать winelib, просто попробуйте под wine библиотеки dll, которые вы уже строите для windows, с вашим тестовым приложением и подайте ошибки в Wine для любых вызовов API, которые не поддерживаются. :)

...