应用程序正常初始化失败 VS2005

现象
XP下(通过VS2005编译并调试)运行(FreeImage的TestAPI)程序,出现“应用程序正常初始化失败。请单击“确定”,终止应用程序”。
(调试窗口中输出:LDR: LdrpWalkImportDescriptor() failed to probe E:\opensource\bin\FreeImaged.dll for its manifest, ntstatus 0xc0150002)

解决过程
检查了下VS2005清单配置,一切正常。
检查输出目录,TestAPI.exe和FreeImaged.dll不在同一目录下!!!这显然不会正确运行
重新设定了下输出目录,将TestAPI输出到FreeImaged.dll目录下,调试运行,一切正常!

小结
该错误通常是用户系统中缺少或找不到应用程序运行时所依赖的dll造成的(如:上面的TestAPI缺少FreeImaged.dll,用户系统中通常缺少msvcrt.dll,msvcp60.dll,MSVCR80.DLL等标准dll模块)。
尝试将可能缺少或找不到的dll复制到程序目录中即可(或设置PATH环境变量,复制到System32目录下等均可)解决。

PS:
1.这个错误提示非常可恶,它极具误导性,假如提示“xxx.dll找不到或者版本不匹配“之类的,那问题就不言自明了。
2.默认TestAPI链接时会出现大量符号无法解析错误,这是因为在工程配置“预处理器”中定义了FREEIMAGE_LIB造成的,删除这个定义就可以链接成功了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值