VS编译错误:mt.exe : general error c101008d: Failed to write the updated manifest to the resource of file

 

 

一、问题描述

今天在用DDK编译一个驱动时出现以下错误:

 

1>------ 已启动生成: 项目: DriverDev, 配置: Driver Check Edtion Win32 ------
1>正在链接...
1>正在嵌入清单...
1>mt.exe : general error c101008d: Failed to write the updated manifest to the resource of file ".\MyDriver_Check\HelloDDK.sys". R]?n
1>生成日志保存在“file://e:\G2\FFT\USBDriver\Windows驱动开发技术详解(pdf书+源代码)\Windows驱动开发技术详解\chapter07\DispatchTest\NT_Driver\MyDriver_Check\BuildLog.htm”
1>DriverDev - 1 个错误,0 个警告
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========


 

查看生成目标文件,也是存在的,可是大小为0K。

二、解决方案

项目属性——配置属性——链接器——清单文件中,把生成清单改成否就行了  <--  可能会导致编译好的库无法注册(我遇到过)

Linker --> Manifest File

项目属性——配置属性——清单工具——输入和输出中,把嵌入清单改成否  < --

Manifest Tool --> Input and Output

 

 

 

<think>我们正在处理Visual Studio编译错误mt.exe: general error c101008d: Failed to write the updated manifest to the resource of file 根据引用[4]和用户描述,该错误通常发生在更新清单文件时,可能是由于文件访问权限或文件被占用等问题导致。 解决方案: 1. 清理解决方案并删除中间文件(手动删除Debug/Release目录) 2. 在项目属性中关闭清单生成(两种方法) 3. 检查文件权限和占用情况 详细步骤:</think>### 解决 Visual Studio 错误 C101008d: mt.exe 清单写入失败 此错误发生在 Visual Studio 尝试更新可执行文件的清单资源时,通常由文件访问冲突或配置问题导致。以下是系统化的解决方案: #### 🔧 核心解决步骤 1. **清理解决方案并删除中间文件** - 在 VS 中:生成 → 清理解决方案 - 手动删除项目目录下的: - `Debug` 或 `Release` 文件夹 - `obj` 文件夹 - `.vs` 隐藏文件夹(需关闭 VS 后删除)[^4] 2. **关闭清单生成(临时解决方案)** ```markdown 项目属性 → 配置属性 → 链接器 → 清单文件 → 生成清单 → 改为“否” ``` **或** ```markdown 项目属性 → 配置属性 → 清单工具 → 输入和输出 → 嵌入清单 → 改为“否”[^4] ``` 3. **以管理员身份运行 Visual Studio** - 右键点击 VS 图标 → 以管理员身份运行 - 重新生成解决方案(可解决 80% 的权限问题) #### ⚠️ 高级排查方法 4. **检查文件占用情况** - 使用 [Process Explorer](https://learn.microsoft.com/zh-cn/sysinternals/downloads/process-explorer) 搜索锁定文件的进程 - 结束冲突进程(常见于防病毒软件或资源管理器) 5. **清单工具路径配置** 在项目属性中验证: ```markdown 配置属性 → VC++ 目录 → 可执行文件目录 应包含:$(VC_ExecutablePath_x86) 或 $(VC_ExecutablePath_x64) ``` 6. **资源文件修复** - 打开 `.rc` 资源文件 - 删除重复的 `CREATEPROCESS_MANIFEST_RESOURCE_ID` 条目 - 确保清单资源 ID 为 1: ```rc 1 24 "app.exe.manifest" ``` #### 💻 配置验证示例 正确配置应满足: ```makefile # 清单工具设置 嵌入清单: 是 生成清单: 是 附加清单文件: 无冲突路径 # 资源文件 .rc 文件中仅包含一个清单资源项 ``` #### 📌 终极解决方案 若上述方法无效: 1. 创建新项目 → 迁移代码文件 2. 重置 VS 设置: ```shell devenv.exe /ResetSettings ``` 3. 修复 Visual Studio 安装 > **关键原则**:此错误本质是**文件访问冲突**,90% 的案例通过清理解决方案+管理员权限解决[^4]。禁用清单是临时方案,长期可能影响 UAC 权限控制。
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值