编译适用于Windows的Linux应用程序(C)

时间:2011-04-28 20:51:39

标签: windows linux linker cross-platform

我可以为Windows编译一个Linux应用程序,只有Linux可用库吗?

我知道nginx web服务器的作者使用一些Wine工具来使他的基于Linux的项目在win32上工作,但是他是如何做到的?

MinGW是否支持创建与特定于Linux的库/标题链接的Windows二进制文件?

PS:我不想使用cygwin因为性能损失很大......

2 个答案:

答案 0 :(得分:4)

使用mingw32环境之类的东西,您必须自己查找或构建您要构建的项目所依赖的所有库(以及这些库所依赖的所有库)。

您可能最终必须实现该平台上缺少的某些功能。 cygwin缓慢的原因之一是它必须跳过来模拟windows上缺少的unix-y事物。

答案 1 :(得分:1)

只要项目在Linux上使用标准库并且不依赖于Linux平台的任何特定库,GCC的Mingw端口就可以在Windows上编译它。

如果您熟悉Linux工具并且不熟悉Cygwin,您可能需要查看MSYS

  

MSYS是GNU实用程序的集合,例如bash,make,gawk和grep,以允许构建依赖于传统UNIX工具的应用程序和程序。它旨在补充MinGW和cmd shell的缺陷。