在Linux中创build一个库或DLL并在Windows上使用它们

我是一名Windows开发人员,所以我是Linux环境的新手。 我想知道是否有人有任何build议或一般的文章,可以帮助我在Linux上build立一个项目,并编译成一个库或DLL在Windows环境中使用。

任何帮助是极大的赞赏。

Solutions Collecting From Web of "在Linux中创build一个库或DLL并在Windows上使用它们"

您可以使用交叉编译器 ,或者只需在虚拟机内安装Windows和必要的构建工具(例如使用VirtualBox )。

编辑:由于你从C ++移植

只要C ++不使用特定于平台的扩展,就应该在任一平台上进行编译。

特定于平台的扩展包括GDK调用等显而易见的细节,以及使用各种POSIX API等不太明显的细微差别。

当然,“优秀的C ++”将避免C语言的过时约定,从而提高可移植性。 例如,通过使用iostream而不是POSIX文件描述符。


原文:

为Linux编译的可执行文件不能在Windows上本地运行。 但是,您可以编写程序,以便移植到Windows将相对轻松。

如果您使用C语言编写,请查看Cygwin ,这是用于Windows的POSIX兼容性层,它提供:

  • “为Windows提供Linux外观和感觉环境的工具集合”。

  • “一个DLL(cygwin1.dll),它充当一个提供大量Linux API功能的Linux API层”。

使用Cygwin,你可以使用POSIX标准的函数(例如open )在Linux下编写代码,并在Windows下编译。 它不保证你的代码不会被修改,但是它应该使移植更容易。

这种方法需要将Cygwin库安装在客户端机器上,除非使用mno-cygwin编译器标志 (这将限制调用POSIX API)构建。