gpt4 book ai didi

c - 如何在 Windows 7 上使用 Vim 的 'make' 命令和 Visual Studio 的编译器编译 C 程序?

转载 作者:太空狗 更新时间:2023-10-29 17:19:24 26 4
gpt4 key购买 nike

我正在尝试将 Vim 设置为用户 VS (express) C 编译器 cl.exe。添加

set makrprg='c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\cl.exe'

(我已经尝试使用 \\\\\\\\\ 进行转义以确保安全)到我的 _vimrc 文件并调用 :make % 返回以下内容:

:! myfile.c >C:\Users\gvkv\AppData\Local\Temp\VIe7BF5.tmp 2>&1

并将 myfile.c 加载到 VS 的 IDE 中!即使 cl.exe 需要它的环境:

C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\vcvars32.bat

这仍然很奇怪,我不知道如何进行。

最佳答案

Judge Maygarden 的解决方案在正确转义方面是正确的,并且解决了我遇到的 Vim 问题,但我还必须解决其他几个问题才能使事情正常进行。特别是

  1. cl.exe 需要正确的环境和正确的路径;即,添加 C:\my\path\to\cl 是不够的。否则您将收到有关缺少 DLL 的错误报告。解决方案是将 vcvars32.bat(或设置类似环境的任何其他批处理文件)和 cl 作为单个命令运行。

  2. cmd 要求任何带空格的路径都用双引号引起来,但您不能使用 \ 对它们进行转义,因为 :! ... 按字面意思对待 \;相反,您必须双引号 ""...

因此,为了完整起见,我想我应该发布我的实际解决方案。在 Vim 中(或 _vimrc):

:set makeprg=\"\"Program\ Files\ (x86)\\Microsoft\ Visual\ Studio\ 10.0\\VC\\bin\\vcvars32.bat\"\&\&cl\"

然后你可以简单地调用

:make %

大功告成。

此方法很容易推广到任何编译器。此外,正如 devemouse 的回答所暗示的那样,为 nmake 创建一个 makefile 可能是为任何非平凡大小的项目做事的最佳方式(我想要一个适合我当前工作的仅限 Vim 的解决方案) .

关于c - 如何在 Windows 7 上使用 Vim 的 'make' 命令和 Visual Studio 的编译器编译 C 程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5561002/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com