9

我正在尝试在 Windows 上构建一个 Linux 开发的库。该库需要 glib 和其中一个 gdk 库。虽然我可以为大多数依赖库找到 32 位 Windows 二进制文件,但我更愿意自己编译所有内容。

我在 Linux 上的 C/C++ 经验很少,但我已经发现这./configure是获取大多数由平台不兼容引起的编译错误所必需的。不幸的是,所有的包都有一个configure不能在 Windows 上真正运行的 shell 脚本。

我已经autoconf为 Windows 安装了,希望从中创建一个 Windowsconfigure脚本configure.ac,但是 Windows autoconf也是一堆不能真正在 Windows 上运行的 shell 脚本。

我该怎么办?我必须安装 Cygwin 吗?

4

1 回答 1

6

编辑(2021):

我写原始答案已经8年多了,此时我会提供不同的意见。

2021 年,Linux 成为现在的主流开发平台,使用 Windows 开发与 Linux 息息相关的东西的人越来越少。那些被迫使用 Windows 的软件工程师经常使用双启动、VM 或 SSH 访问构建机器。那些喜欢冰沙的人使用 Docker,这是一种构建事物并将构建工件保存在云中的奇特方式,以及监控和天知道是什么。现在,Visual Studio 还支持远程 Linux 目标,甚至WSL。疯狂的。

所以,截至 2021 年,我的建议是:如果你问这个问题,那你就错了。当涉及到任何与 Linux 相关的东西时,不要将 Windows 用作构建机器。如果你真的需要在同一台 Windows 机器上构建 Linux 代码,我会看看这两个选项:

  • WSL 和mingw-w64
  • Docker(例如这个

原始答案(2012):

我在这里看到两个选项:

  • 在 Windows 上模拟 Unix 环境
  • 从 Unix/Linux 交叉编译到 Windows 目标平台

虽然第二个选项可能会减少在本地环境中构建的麻烦,但如果您主要在 Windows 上工作,我发现它很不舒服,因为这需要将生成的二进制文件传输到 Windows 机器。让我们看看第一个选项 - 模拟 Unix 环境并在 Windows 上构建 GNU 软件。

虽然某些包可能支持在 Windows 上构建而无需准备环境,但这些可能是使用 CMake、Visual Studio 和其他非典型构建 GNU 开源东西的方式完成的自定义解决方案。

Windows 上的 Unix 环境仿真有两个流行的选项,CygwinMsys。这两种选择各有利弊,这是一个广泛讨论的话题,我不打算深入探讨。

顺便说一句,我个人使用的是 Msys,除了某些软件包的典型 Windows 不兼容问题外,从未遇到过任何问题。

于 2012-12-21T12:50:51.653 回答