使用Winelib移植仅限Windows的GUI工具包

dsi*_*cha 5 user-interface cross-platform wine d winelib

我喜欢关于D的DFL GUI工具包的所有内容,除了它只适用于Windows,因为它基本上是围绕Windows API的漂亮的高级包装器.使用Winelib简单地将这样的工具包移植到Linux(我真的不关心除Windows和Linux之外的任何其他操作系统)有多难?如果我在Linux上编译这样一个库并将其与Winelib链接起来,它大多数"只是工作"的几率是多少?可能涉及哪些非显而易见的步骤?

注意:对于那些不熟悉D的C代码处理方法的人,可以直接从D调用C代码.只需将头文件转换为D(这已经针对Win32头文件,但不是Winelib头文件)我不确定Winelib标题是否需要翻译或者Windows标题是否足够好.),用C编译器编译C代码,然后链接C对象文件.

Joh*_*ehm 1

如果您已经在为 Windows 进行构建,则根本不需要使用 winelib。Winelib 的存在只是为了在 wine 支持的非 x86 平台(例如 linux ppc)上提供 wine 下的 Windows 构建环境。如果您的构建系统已经在构建 Windows 二进制文件(没有性能优势),则根本不需要使用它。

您必须做的一件事是确保 DFL dll 使用的 Win32 API 调用在 wine 下工作(即使您使用 winelib,您也必须这样做)。

因此,不需要使用 winelib,只需在 wine 下尝试使用您已经使用测试应用程序为 Windows 构建的 dll,并针对任何不支持的 api 调用提交 wine 错误。:)