5

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

注意:对于不熟悉 D 处理 C 代码的方法的人,可以直接从 D 调用 C 代码。您只需要将头文件转换为 D(对于 Win32 头文件已经完成,但 Winelib 头文件没有. 我不确定 Winelib 头文件是否需要翻译,或者 Windows 头文件是否足够好。),用 C 编译器编译 C 代码,并链接 C 目标文件。

4

1 回答 1

1

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

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

因此,简而言之,无需使用 winelib,只需在 wine 下尝试您已经使用测试应用程序为 windows 构建的 dll,并为任何不受支持的 api 调用提交 wine 错误。:)

于 2011-05-08T17:56:07.213 回答