c1010070:无法加载和解析清单

时间:2015-08-24 07:03:08

标签: c++ visual-studio-2010 wxwidgets

我有一个现有的wxWidgets项目,我试图在Visual Studio 2010下编译(该项目可能是使用旧版本的Visual Studio创建的 - 甚至可能是VS2003)。我编译了wxWidgets库(在我的项目中也包含了路径)。现在编译我的项目时,我收到此错误:

1>------ Build started: Project: Terminals, Configuration: Debug Win32 ------
1>Build started 8/24/2015 10:56:23 AM.
1>InitializeBuildStatus:
1>  Touching "Debug\Terminals.unsuccessfulbuild".
1>ClCompile:
1>  All outputs are up-to-date.
1>ResourceCompile:
1>  All outputs are up-to-date.
1>ManifestResourceCompile:
1>  All outputs are up-to-date.
1>Link:
1>  All outputs are up-to-date.
1>Manifest:
1>  
1>wx\msw\wx.manifest : general error c1010070: Failed to load and parse the manifest. The system cannot find the path specified.
1>  
1>
1>Build FAILED.
1>
1>Time Elapsed 00:00:01.59
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

有人可以帮忙吗?

4 个答案:

答案 0 :(得分:1)

如果您的项目路径中有空格,则会发生这种情况,例如,在我的情况下,该项目在我的Windows帐户中,因此路径以“ C:\ Users \ Adam Reece ...”开头。然后,在生成清单时,我在“找不到”之类的错误中得到“ C:\ Users \ Adam”。

This is 100% a bug with Visual Studio recently of which Microsoft refuses to recognise.您的路径中没有空格,这是错误的,因为Windows 95以来一直对此提供支持。但是,作为一种解决方法,您要么需要确保项目的完整路径中没有空格,或禁用清单的生成。 (项目属性->链接器->清单文件->生成清单->更改为否(/ MANIFEST:NO)。)

答案 1 :(得分:0)

我遇到了同样的问题,找到了不需要创建新用户配置文件的解决方案...

是的,这是由用户名中的空格引起的。但为什么?因为mt.exe使用TEMP / TMP环境变量。在我的一台计算机上,用户名使用TEMP(C:\ users \ gerson〜1)的旧8.3格式,并且可以正常工作。这给了我一个有关如何解决该问题的提示:

  • 将用户的TEMP设置为没有空格的某个文件夹
  • 将用户的TMP设置为没有空格的某个文件夹

确保重新启动VS,以使设置更改生效。您的构建现在应该可以工作了;)

答案 2 :(得分:0)

我和 msb3073 一起遇到了这个错误。我通过修改项目的vcxproj文件解决了这个问题,从:

<PostBuildEvent>
  <Command>mt.exe -manifest DesignedForWindows7.manifest -i [...]
  </Command>
</PostBuildEvent>

<AfterBuildEvent>
  <Command>mt.exe -manifest DesignedForWindows7.manifest -i [...]
  </Command>
</AfterBuildEvent>

在那里,代替 [...],有一些我刚刚复制粘贴的命令行代码。 注意vcxproj文件中可能有不止一个这样的代码块

答案 3 :(得分:-1)

我收到 c1010070:无法加载和解析清单 因为我的 Windows 用户配置文件中有一个空格,例如C:\Users\ John Doe\ 和我试图在 C++ 和 Visual Studio 2017、Win 8.1 SDK 中使用 UE4

最终解决方案 失败的解决方案 0(对我来说似乎不起作用):将 TMP 和 TEMP Windows 环境变量更改为没有空间的文件夹。这可能会破坏其他程序。在尝试其他解决方案时,我一直在改变它。 解决方案 1:从项目中排除 C\User\John Doe ... 文件夹 解决方案 2:尝试更改您的 Windows 配置文件文件夹名称(YouTube 上的教程) 解决方案 3:创建一个没有空格的新 Windows 本地帐户并将其用于开发

解决方案 1 说明 如果您使用的是 UE4,Makefile 将是您的项目配置默认值。因此,您将无权访问链接器或清单工具设置。

我在构建时遇到以下错误:

 Severity   Code    Description Project File    Line    Suppression State
Error   c1010070    Failed to load and parse the manifest. The system cannot find the file specified.   VirtuPilotv3    C:\Users\John

Severity    Code    Description Project File    Line    Suppression State
Error   LNK1327 failure during running mt.exe   VirtuPilotv3    K:\VRDEVELOPMENT\Virtu-Pilot\Intermediate\ProjectFiles\LINK 1   
    1   

Severity    Code    Description Project File    Line    Suppression State
Error   MSB3073 The command "K:\VRDEVELOPMENT\UE_4.26\Engine\Build\BatchFiles\Build.bat VirtuPilotv3Editor Win64 Development -Project="K:\VRDEVELOPMENT\Virtu-Pilot\VirtuPilotv3.uproject" -WaitMutex -FromMsBuild" exited with code 6. VirtuPilotv3    C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\Microsoft.MakeFile.Targets   44  

我注意到属性页>常规>可执行目录中的宏 $(PATH) 包含一个 C:\ 用户文件夹路径 "C:\Users\John Doe.dotnet\tools" 是特定的. 所以我将 .dotnet 文件夹添加到我的排除目录和 BINGO 中!我可以构建并打开编辑器。 [1 视觉工作室警告]

我将 TEMP 和 TMP 变量改回默认值。惊讶我仍然可以建造。 发现 C:\Users\John Doe.dotnet\tools 位于 Windows "path"Environment Path Variables Image 变量

我可能会将 .dotnet 文件夹复制到 C:\VisualStudioCustom 之类的位置,并将该文件夹添加为 Windows 路径 New .dotnet folder set as path。这应该解决所有项目的问题。由于新文件夹将自动添加到 Visual Studios 宏 $(PATH)。 [它确实有效,没有 VS 错误]

相关问题