6
4

2 回答 2

5

当我在运行 :compiler msbuild 后使用 :make 时,shell 返回消息“'msbuild' 不是内部或外部命令”。msbuild.vim 与 MSBuild 工具有关系吗?

是的。

要在命令提示符中启用 msbuild,您只需将计算机上安装的 .net4 框架的路径添加到 PATH 环境变量中。以下在 Windows 上对我有用:

您可以通过右键单击“计算机”,单击“属性”,然后单击左侧导航栏上的“高级系统设置”来访问环境变量。在下一个对话框中单击“环境变量”,向下滚动到“PATH”并对其进行编辑以包含您的框架路径(不要忘记此处最后一个条目后的“;”。

作为参考,我的路径是C:\Windows\Microsoft.NET\Framework64\v4.0.30319. [1]

虽然我只将它用于 C# 项目,但我想它也适用于 C++。请记住,您必须在项目目录中运行msbuild 否则 msbuild 将无法找到您的项目。

为了完整起见,这里是我的 vimrc 的片段(OP 已经通过电子邮件获得)。

noremap <F4> :<C-U>silent make<CR>:redraw!<CR>
au FileType cs compiler msbuild

当然,总是欢迎对这个编译器脚本进行补丁和添加!

问候

[1]:如何使用 Windows SDK 7.1 从命令行运行 msbuild?

于 2013-09-20T18:34:11.227 回答
5

快速搜索一下: 入门 - 使用 VIM 进行 C/C++ 编程,这可能是一个很好的起点。

正如 user786653 所提到的,这是失败的,因为您的 PATH 不包括 nmake.exe 所在的目录。您可以检查您的路径

:echo $PATH 

Vim 不会替换底层的构建功能,它只是简单地包装它。

  1. 从 Visual Studio 命令提示符启动 gVim
  2. 在测试目录中创建新文件:

    测试.cpp

    #include <iostream>
    int main() { 
        printf("hello world.");
        return 0;
    }
    

    生成文件

    all:
        cl test.cpp 
    
  3. 设置编译器 (gVim)

    :compiler msvc
    
  4. 编译 (gVim)

    :make
    

我没有 msbuild.vim 脚本,但是通过将“make program”设置为 msbuild.exe

:set makeprg=msbuild

您可以通过从包含解决方案 (.sln) 或项目 (.vxcproj) 文件的目录运行 :make 来构建,也可以使用msbuild.exe 命令行,如下所示:

:make c:\Test\Test.sln  /t:Rebuild /p:Configuration=Debug

编译后,您可以使用以下命令检查输出

:copen 

并使用(n 表示下一个,p 表示上一个,r 表示倒回第一个错误)导航错误

:cn 
:cp 
:cr 
于 2013-09-13T18:28:28.743 回答