在@iinspectable响应中提供的链接后,我尝试使用带有Visual Studio 2022的清单工具选项。不幸的是,当我尝试编译该错误时,我会遇到以下错误程序 Mt.exe:常规错误C101008E:无法从身份字符串中创建清单:“/susteStdependentions:type ='win32'name ='Microsoft.windows.Common-controls'version ='6.0.0.0.0.0.0.0'processorarchitecture ='x86 x86 x86 x86 x86 'publicKeyToken ='6595b64144ccf1df'语言='*'”。参数不正确。
有人可以帮我纠正这个错误吗? 上面描述的是,我尝试使用Visual Studio清单工具创建必要的清单。具体来说,我填写了:
/manifestdependency:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='X86' publicKeyToken='6595b64144ccf1df' language='*'
i我尝试使用Visual Studio清单工具创建必要的清单。
清单工具(
Mt.exe)
[...]是生成签名文件和目录的工具。尽管它具有生成清单文件的能力,但它缺乏一般的清单文件操作功能。特别是,它不支持生成或添加
dependency
元素。此功能仅由链接器(link.exe)提供。
使用链接器添加依赖项使用链接器选项,例如
/MANIFESTDEPENDENCY
/MANIFESTDEPENDENCY:"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'"
type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'
/MANIFEST
链接选项,或在Visual Studio的GUI中将“生成清单”配置设置为“是(/清单)”。无论哪种方式,都要特别注意使用单('
)和双(
"
)引号。
替代方法是放弃链接器的专用清单文件支持,并链接手动撰写的清单。 完整性这就是为什么尝试解决方案失败的原因。/manifestdependency:type='win32' ...
thremand,这是灵感来自于在增强视觉样式上找到的说明的启发。提示以下代码:
#pragma comment(linker,"\"/manifestdependency:type='win32' ... \"")
MSVC特异性comment
链接选项将注释记录放在对象文件[...]
中 这支持通过编译器生成的对象文件传递信息到下游构建工具。
。但是,“汇编身份”字段对应于不了解链接器选项的清单工具的command line选项。删除
-identity
-prefix将解决即时的构建错误,但不会解决核心问题。解决方案是使用上述链接器,而不是清单工具。