本文主要是介绍VC2005的打包运行问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
VC 2005的打包运行问题
以前习惯了使用VC6,打包程序的时候只要把相应的exe,dll拿过来就能运行。最近有个项目用vc2005开发,运用以前的经验,将所需要的dll和exe一起拷到同事的机器运行,一运行程序就报错了,错误信息为“应用程序配置不正确,程序无法启动,重新安装应用程序可能解决问题”,于是上网查了些资料,说是少了vc2005 运行库。于是让同事也装了一个vc2005的运行库。装完之后,运行程序还是出错,错误信息为“应用程序正常初始化(0xc0150002)失败。请单击“确定”,终止程序”。
于是又上网查资料,都说是缺少manifest文件中所依赖的库,但是少哪一个库呢?我的程序需要的第三方库有lua, luabind,boost库。从系统工具--》事件查看器中找到三条有用的信息,
1:Generate Activation Context 为 C:/Documents and Settings/Administrator/桌面/release(3)/luabindd.dll 失败。 参考错误消息: 操作成功完成。
2:Resolve Partial Assembly 为 Microsoft.VC80.DebugCRT 失败。 参考错误消息: 参照的汇编没有安装在系统上。
3:找不到附属汇编 Microsoft.VC80.DebugCRT,上一个错误是 参照的汇编没有安装在系统上。
看到这些信息后,我想会不会是由于luabind库加载失败的原因?于是我查看了一下luabindd.dll.manifest中的依赖关系,发现它依赖于Microsoft.VC80.DebugCRT中的debug 运行库,而我的程序中只包含了Microsoft.VC80.CRT的release运行库,于是我重新编译了一个lubind的release库,修改了工程的lib(依赖于luabind的release lib),重新编译后,放入同事的机器上运行正常。
这篇关于VC2005的打包运行问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!