9

我正在尝试编译 Qt 4.7.4,但我总是收到此错误:

mt.exe: general error c101008d: Failed to write the updated manifest to the resource of file "release\tutorial5.exe". The system cannot find the file specified. 
NMAKE : fatal error U1077: '"C:\Program Files(x86)\Microsoft SDKs\Windows\v7.0A\bin\mt.exe"' : return code '0x1f'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files(x86)\Microsoft Visual Studio 10.0\VC\BIN\nmake.exe"' : return code '0x2'
Stop. 
NMAKE : fatal error U1077: 'cd' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : return code '0x2'
Stop. 
NMAKE : fatal error U1077: 'cd' : return code '0x2'
Stop.

使用 Visual Studio 命令提示符,我执行了以下命令:

configure -debug-and-release -opensource -platform win32-msvc2010
nmake

我能做些什么来解决这个错误?

4

3 回答 3

3

所以显然 tutorial5.exe 无法正确或完全构建,并且永远不会创建 exe。Mt.exe 是一个用于生成签名文件和目录的 Windows 后期构建工具。它返回错误,因为它找不到文件。

您的问题的解决方案包括从您的构建中排除演示和教程,或者在教程 5 的源代码中查找错误,以便正确构建。或者您甚至可以在其中放置一个虚拟版本的tutorial5.exe,看看这是否是唯一出现的错误。

很可能源代码中的错误与 Windows 中 Qt 的默认编译器工具 (MingW) 和 msvs2010 编译器之间的差异以及它们尝试处理某些 Windows 特定代码的方式有关。

构建 Qt 时如何排除示例

其他在线有类似项目的人已经使用标志“sub-src”从 nmake 构建调用中排除了这些示例。

什么是tutorial5.exe

这是 Qt 的默认构建中的位置release/tutorial5.exe

C:\QtSDK\Examples\4.7\qtestlib\tutorial5

它在文档中:Qt 4.8: Chapter 5: Writing a Benchmark

您可能应该向 Qt 项目提交描述问题的票证:bugreports.qt.io

祝你好运。

于 2012-05-18T00:05:37.303 回答
1

在 Windows 7 64 位上使用 Qt 4.8.1、Creator 2.7.1、MSVC2010 Express 的 Qt 控制台应用程序出现类似错误:

"mt.exe : general error c101008d: Failed to write the updated manifest to the resource of file ... " 

然后还有一些东西

The process cannot access the file because it is being used by another process.

但是,应用程序已构建,然后可以从 Creator 中“运行”。该错误也发生在“构建”而不是“运行”中。我最初认为这可能是一个时间问题,例如创建者太快地启动外壳来运行程序。删除文件后它可以正常工作(没有错误)。

也许我的 GIT(或 TortoiseGIT)正在访问该文件,尽管我看不到这些进程。

编辑:也可能是病毒扫描程序检查正在写入的文件。编辑2:确认:暂时禁用扫描程序可以解决问题

于 2013-07-04T10:04:02.670 回答
1

尝试以管理员身份运行 Microsoft Visual Studio 命令提示符。当您转到魅力面板并搜索 MSVS 提示符时,右键单击并以管理员身份运行。

于 2015-01-20T03:54:53.177 回答