如何使用 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 编译代码的主要内容,如果未能解决你的问题,请参考以下文章
Makefiles,从 VC6 迁移到 Visual Studio 2010
在 Visual Studio Code 中使用 Makefile 调试现有项目
关于使用本机 Visual C++ 项目与 makefile 项目的意见
在基于 Makefile 的解决方案中使用 Visual Studio 调试器