我有兴趣将库移植到 Windows,以便我可以为该库的项目做出贡献。这个库有一个 Makefile.am,我可以弄清楚应该如何构建该库(但我对 makefile 的概念相当陌生)。我想知道是否有一种自动方法可以将 Makefile.am 转换为 Visual Studio 2005 可以使用的内容。
到目前为止我所知道的:
我确实看到库的 Makefile.am 中有用于构建 Windows 目标的指令(即if BUILD_WINDOWS ...some stuff... endif
)。
我还知道 Windows 上有 AutoMake,它可以从 .am 生成 Makefile.in,但我对于如何使用此 Makefile.in 存在知识差距。 (仍在研究这条途径)。
我唯一的课程是手动将 makefile 转换为 VS2005 项目吗?看起来从 Windows 转换到 Linux 更容易,但这可能只是我的想象。
感谢你的帮助!
答案1
对于 makefile.in / makefile.am 关系,请查看 GNU 构建系统上的维基百科:http://en.wikipedia.org/wiki/GNU_build_system。有一个图表解释了每个文件的作用。据我所知,没有自动化的方法,但我可以向您推荐一些能够编译库的方法:
- 安装cygwin:http://www.cygwin.com附带完整的 GNU 系统和许多有用的实用程序
- 迁移项目以使用 cmake (http://www.cmake.org)。 CMake 可以生成 Microsoft VS 文件以及 Unix Makefile。这个项目:http://cvs.savannah.gnu.org/viewvc/tsp/?root=tsp例如,使用 cmake 在 Windows 和各种 Unix 风格上进行构建。