Windows 应用程序移植到 Linux 的一个例子
技术上讲,使 Windows 可执行文件在 Wine 中运行并不是移植,但是经常被认为是移植。这也是测试一个应用程序是否适合使用 Winelib 进行移植的好办法。要获得关于使用 Wine Winelib 库编译来移植源代码的资料,请参阅 参考资料中关于 Winelib 用户指南的链接。
我们已经整理了一个非常简单的应用程序,来说明 Windows 程序如何在 Wine 中运行。程序创建了一个窗口;从一个 DLL 中加载了两个函数,有一些对话框。我们将继续使用非常简单的例子;作为实际应用中的例子,我们非常鼓励您用 MS Office 等大型应用程序进行同样的尝试。
同时,这个例子可以通过让您体验代码的运行来入门。
运行代码
示例 DLL 的源代码在 DLLCode 目录中,使用 DLL 的源代码在 callDll 目录中。要运行只需要将两者(DLL 文件和可执行文件)存放于同一目录下,并运行 callDll.exe 。winetests 文件夹中的 README.TXT 文件描述了如何在 Linux 上 Wine 中执行那个二进制程序。
如果您愿意,可以随意打开项目文件并进行修改。
DLLCode 项目正确编译后,您可以在 Debug 文件夹中看到 DLLSample.dll 文件。这个文件是 callDll 项目所需要的。为了您的方便,DLLSample.dll 已经存放于 callDll 中正确的位置。举例说明的 callDll 中产生的可执行文件的依赖;您可以使用 Dependency Walker 来查看其他程序的依赖(参阅 参考资料)。