【问题标题】:Unix Makefile in Windows Visual Studio 2008Windows Visual Studio 2008 中的 Unix Makefile
【发布时间】:2009-08-04 13:20:01
【问题描述】:

我进行了不错的搜索,但似乎找不到让 Visual Studio 2008 使用 unix Makefile 的方法,甚至无法从 Makefile 创建一些与 MSVC 兼容的等效项。有没有人有想法或类似的问题?

注意:我已经知道使用 Makefile 的好处/缺点,我不想听你的意见。我现在感兴趣的只是从一些只有 Makefile 的原始 unix 代码创建一个 Windows 库,并从中获得一些功能。

TIA。

【问题讨论】:

  • 你能看到它使用的是什么编译器吗?
  • 现有的makefile使用gcc。

标签: c++ visual-studio-2008 makefile


【解决方案1】:

您还可以将ccclmake for windows 一起使用。

cccl 是微软的包装器 Visual C++ 的 cl.exe 和 link.exe。它 将 Unix 编译器参数转换为 cl和link理解的参数。

【讨论】:

  • 这听起来像我要找的。谢谢。
【解决方案2】:

您可以做的是从现有代码创建一个项目。 Visual C++ 在不使用 makefile 的情况下可以很好地进行编译。

你也可以安装 MinGW,它有 make 和编译器。

http://www.mingw.org/

【讨论】:

  • 我尝试从现有代码创建一个项目,但收效甚微。 MinGW 可能会工作......我会进一步研究。
  • 请注意,如果您将 MinGW 编译库用于 MSVC,您可能会遇到问题。我在我的博客上发布了一篇关于如何将 MSVC 编译的 dll 转换为 MinGW lib 的文章,但反之亦然。 blog.stranadurakov.com/2009/04/01/create-mingw-library-from-dll
  • 您也可以使用 cygwin(缺点是可执行文件还需要 cygwin dll)。 Cygwin 可以简化代码和 makefile 的移植,因为它带有 posix/unix 子系统和一整套实用程序。 Mingw = 极简主义。如果它有效,它也是我的第一选择。
【解决方案3】:

使用nmake 命令行工具。请注意,它不支持 GNU Make 所做的一切,因此您可能需要编辑 Makefile 以使其兼容,但它最接近您想要的。

【讨论】:

  • 我以前用过nmake,这可能是我最好的选择。不过,我真的希望有一个可以与 Visual Studio 一起使用的解决方案。
【解决方案4】:

我看到人们通常会以相反的方式使用它们:使用 make 作为主构建系统并让它调用 Visual Studio 以批处理模式构建它的东西。

我没有 2008,但是使用 VisualStudio2005,您可以使用类似这样的规则构建解决方案

release = "Win32 Debug"
progname.exe : progname.sln
    devenv $< /Rebuild /"$(release)/"

(注意:在此示例中我必须使用空格,因为制表符只会将我带到下一个字段。)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-16
    • 2012-11-08
    • 2010-11-29
    • 2010-10-03
    • 2014-08-16
    相关资源
    最近更新 更多