使用msbuild.exe时显示列错误

Str*_*ger 4 msbuild visual-studio-2012

是否有可能在输出中获取发生错误的列号(主要来自cl.exe)MSBuild.exe

我想在Sublime Text上正确绑定F4键.

Microsoft (R) Build Engine version 4.0.30319.17929
[Microsoft .NET Framework, version 4.0.30319.17929]
Copyright (C) Microsoft Corporation. All rights reserved.

  'Microsoft Visual C++ Compiler Nov 2012 CTP' is for testing purposes only.
  Mesh.cpp
..\..\..\lib\Kernel\Mesh.cpp(94): error C2143: syntax error : missing ';' before 'return' [C:\Users\Stringer\Code\XXXXXXX\kernel\lib\Kernel\kernel.vcxproj]
[Finished in 1.4s]
Run Code Online (Sandbox Code Playgroud)

Han*_*ant 5

这与MSBuild.exe无关.C++编译器不提供列号信息.它没有打开它的选项.

这是C或C++的构建模型中固有的.预处理器首先获取源代码,并经常显着改变它.编译器本身只能看到源的预处理版本.C++编译器有一种机制来保存原始文件名和行号(参见#line)但不保留列号,这是不切实际的.

所以不,缺少列数是设计的.

值得注意的是Clang,一个编译器项目,其唯一的原因是消除了这些基本的C++编译限制.