安装 VS 2012 后无法编译我的 c++ 项目

Posted

技术标签:

【中文标题】安装 VS 2012 后无法编译我的 c++ 项目【英文标题】:unable to compile my c++ project after install VS 2012 【发布时间】:2014-03-14 14:05:27 【问题描述】:

错误 1 ​​错误 MSB4018:“MIDL”任务意外失败。 System.TypeInitializationException:类型初始化程序 'Microsoft.Build.Utilities.FileTracker' 抛出异常。 ---> System.IO.FileNotFoundException:系统找不到文件 指定的。 (来自 HRESULT 的异常:0x80070002)在 System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 错误代码,IntPtr 错误信息)在 System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(Int32 错误代码)在 Microsoft.Build.Shared.NativeMethodsShared.ThrowExceptionForErrorCode(Int32 错误代码)在 Microsoft.Build.Shared.NativeMethodsShared.GetShortFilePath(字符串 路径)在 Microsoft.Build.Utilities.FileTracker..cctor() --- 结束 内部异常堆栈跟踪 --- 在 Microsoft.Build.CPPTasks.TrackedVCToolTask​​.ComputeOutOfDateSources() 在 Microsoft.Build.CPPTasks.TrackedVCToolTask​​.SkipTaskExecution() 在 Microsoft.Build.Utilities.ToolTask​​.Execute() 在 Microsoft.Build.CPPTasks.TrackedVCToolTask​​.Execute() 在 Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute() 在 Microsoft.Build.BackEnd.TaskBuilder.d__20.MoveNext() C:\程序文件 (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.CppCommon.targets 1179

【问题讨论】:

哇。我看不懂。 谁能帮帮我!!! 【参考方案1】:

这个问题会影响所有项目吗?

从旧版本的 VS 移植代码时,我遇到了类似的问题。根据我的经验,产生最多的错误是因为路径。我不记得细节,但是显式使用输出路径(在旧版本中完成)会产生问题,因为项目转换机制尝试使用宏,结果是空的、格式错误的路径。

我的建议是验证与输出有关的所有设置。确保 OutputPath、TargetDir 和其他设置正确。尝试更改设置并使用从父级继承。 创建相同类型的空项目并比较两者的属性。

【讨论】:

以上是关于安装 VS 2012 后无法编译我的 c++ 项目的主要内容,如果未能解决你的问题,请参考以下文章

VS2012 使用 C++ 编译器 2012 年 11 月 CTP (v120) 强调错误错误

为啥我无法在 win64 上使用 boost 1.54 编译 VS2012 C++ 代码?

为啥我的vs2012没有C++开发设置

用VS2010编译的C++大作业出现了无法识别的外部符号BUG

UE4无法创建C++项目

nmake 无法使用 VS 2012 编译 TSF 示例