如何使用WINE在Linux上使用Windows .lib

时间:2013-05-28 07:55:07

标签: c++ linux qt wine .lib

我一直在Windows平台上使用Qt(使用c ++代码+ Qt库),我正在将项目移植到Linux平台上。

使用Qt这是一个非常简单的过程,我的项目在Linux平台上运行,几乎不需要任何更改。

但是,我们需要使用第三方编译的.lib窗口和相关的头文件。很明显,这个文件在Linux下无法运行,但我一直在阅读帖子,建议我可以使用Wine来做到这一点。

因此,一般来说,我的项目将作为普通的Linux(Ubuntu)项目工作,但我想使用.lib包含此Wine文件。我一直无法找到一个明确的答案“如何做到这一点”。我不确定您是否使用Wine.lib翻译成.so文件,或者您是否必须将其与某些“类似葡萄酒”的约定静态链接...

任何人都可以帮我指出正确的方向吗?

谢谢:)

3 个答案:

答案 0 :(得分:2)

AFAIK,你不能用Wine制作混合应用程序(即用一些Linux静态库和Windows静态库链接C ++ Linux可执行文件)。

我建议的解决方案之一是将Windows库封装在充当某种网络服务的Windows程序中,然后通过网络将Linux应用程序与Windows库进行通信。

然而,它增加了你的软件的复杂性,要​​求你知道如何进行一些网络编程(但是,现在很容易做到)并且不适合所有类型的库,特别是如果你的库有某种类型GUI。

答案 1 :(得分:1)

您是否尝试在Windows下进行编译并在Wine下运行整个程序?

我不确定你是否可以拼接Wine和Linux程序。

答案 2 :(得分:1)

我无法想象混合方法会起作用。在任何情况下,将程序的一部分作为本机应用程序运行而WINE中的另一部分将不会比在WINE中运行的完整程序更有优势。在任何一种情况下,都需要WINE。

在WINE中运行完整程序的主要缺点是GUI的外观和感觉可能看起来与系统有些陌生。但是,使用适当的WINE设置可以最大限度地减少问题。另外,由于可用的桌面环境不同,大多数Linux用户习惯于使用不同的GUI概念。我个人在KDE桌面上运行了很多GNOME应用程序。

我个人会试着在WINE中运行你的程序。它使开发更容易。电气工程师非常着名的电路仿真工具使用这种方法。它被称为LTSpice。虽然只有Windows二进制文件可用,但开发人员使用WINE对其进行测试,以确保它在Linux上运行。承认,这是一个免费提供的工具,但社区接受这种方法。