如何使用 makefile 使用 Visual Studio 编译代码

Posted

技术标签:

【中文标题】如何使用 makefile 使用 Visual Studio 编译代码【英文标题】:How to compile code with visual studio using makefile 【发布时间】:2013-04-04 06:10:10 【问题描述】:

我刚刚下载了一个开源项目,据说是使用 Visual Studio C++ 编译的。它包含 3 个 makeFile(makeFile、makeFile(1) 和 makeFile(2)) 我总是使用 .sln 文件在 VS 中打开程序,现在我不知道如何处理这个 makeFile。 谁能指导我如何处理它。

问候

【问题讨论】:

没有看到实际的 makefile 很难说,但首先我会尝试这个,菜单 File/New/Project ... 选择 makefile 项目 您是否尝试按照下载随附的说明进行操作?至少包含项目名称会有很大帮助。 此问题可能重复 (***.com/questions/15061381/…)。在shell中(我不确定Win shell是否会这样做,如果不尝试使用Cygwin),请尝试转到主makefile的目录并输入make How to use makefiles in Visual Studio?的可能重复 【参考方案1】:

你可以试试NMake。请参阅 NMake Reference 和 *** 帖子。

NMake 包含在 Visual Studio 中。您可以尝试使用您可能想要使用的 Visual Studio 版本附带的 NMake。

【讨论】:

-1:他可能用 Google 搜索过,也可能没有,但 做过,这是最高的结果。你的回答对我很有帮助,毫无疑问其他任何有同样问题的人,但它会同样有帮助没有的态度:) @Ozzah,我并不是有意表现出任何态度。我只是好奇提问者是否用谷歌搜索并找到了任何东西。我知道像这样的问题更适合 cmets 而不是答案。感谢您指出了这一点。我已经编辑了我的答案。【参考方案2】:

如果您只熟悉 Visual Studio 项目和解决方案,那么处理 makefile 可能是一个挑战。以下链接将从 Visual Studio 的角度很好地介绍 makefile。

An introduction to Makefiles for Visual Studio developers

将 Linux makefile 转换为 Visual Studio 解决方案需要手动操作。

NMake 看起来很有希望。但是,以下链接采用简单的Makefile 并解释了人们可能遇到的一些基本问题。

Makefiles in Windows

【讨论】:

【参考方案3】:

VS2017 和带有make linux 二进制文件的跨平台开发

如果您使用的是 Windows 10,则可以使 make 工作并编译 linux 二进制文件:

已安装 lxss,并已安装 gdb 服务器、ssh 服务器:

sudo apt update && sudo apt install -y build-essential gdbserver openssh-server

确保您可以通过 ssh 连接到本地计算机:

sudo vi /etc/ssh/sshd_config && sudo service ssh start

确保您已安装 linux development with c++ 软件包(VS2017 安装)

确保您通过 ssh 在 VS/tools/options/connection manager 中配置了与 lsxx 的连接(搜索中的“连接”)。

确保有linux项目(新项目/其他语言/vc++/crossplatform/linux)

不过,在项目/属性中添加make 命令。

【讨论】:

【参考方案4】:

我刚刚遇到了同样的问题,对我来说解决方案: 打开“VS2012 Native Command Prompt”,名称因 MSVS 的不同版本而异。然后只需键入“nmake makefile.vc”。 nmake 是命令,makefile.vc 是您自己的本地文件夹中的 makefile。并且完成(如果没有进一步的错误发生)

【讨论】:

以上是关于如何使用 makefile 使用 Visual Studio 编译代码的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Visual Studio 2008 中打开使用 Visual Studio 2005 创建的 rdl?

如何在 Visual Studio 2012 中编辑 s-s-rS 2008R2 报告?

Visual Studio 2010 - 如何使用系统环境变量?

使用 CMake 构建后,如何在 Visual Studio 中创建项目以使用 OpenMesh?

如何在 Visual Studio 2013 中打开 s-s-rS (.rptproj) 文件?

如何访问 Visual Studio 中的保存临时选项?