【问题标题】:Using Winelib to port a Windows-only GUI toolkit使用 Winelib 移植仅 Windows 的 GUI 工具包
【发布时间】:2011-03-14 14:31:26
【问题描述】:

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

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

【问题讨论】:

  • 在此期间您找到解决方案了吗?
  • 是的。我最终移植到另一个 GUI 库。

标签: user-interface cross-platform d wine winelib


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-11-02
    • 2019-05-26
    • 1970-01-01
    • 2011-07-20
    • 1970-01-01
    • 1970-01-01
    • 2012-05-12
    • 1970-01-01
    相关资源
    最近更新 更多