Manifest
R6034
VC2005
]
用VC2005编译的程序部署到客户机上,一运行经常会直接弹出一个崩溃的窗口:报 C Run-Time Error R6034 错误。 一般是因为缺少清单文件。 这个清单文件一般是生成在与可执行文件同一个目录下,名称为 XXX.exe.manifest,如果发布程序时,带上这个manifest文件一起复制过去一般就不会报错了。但是这样做太丑陋了。 通过下面的方法,可以把清单文件嵌入到可执行文件中。
从开始->所有程序->Microsoft Visual Studio 2005->Visual Studio Tools->Visual Studio 2005 命令提示 打开命令行窗口, 输入下面的语句(注意把其中的程序路径修改为你的程序路径,如果是DLL,只需要把exe改成dll并把最后一个1改成2)
mt.exe /nologo -manifest “E:proprojectTestWxWidgetstreetest.exe.manifest” -outputresource:”E:proprojectTestWxWidgetstreetest.exe”;1
回车执行,如果没有任何输出,就执行成功了。这个清单就嵌入到你的exe中了。这时你删除掉manifest文件也可以运行了。
参考资料: How to: Embed a Manifest Inside a C/C++ Application Mt.exe Visual C++ Libraries as Shared Side-by-Side Assemblies