出现“应用程序正常初始化(0xc0150002)失败”的错误,是因为该程序用到了 C++ 的运行库,而你的操作系统中缺少所需的组件或组件版本不对,打一下补丁吧。Microsoft Visual C++ 2005 SP1 Redistributable Package (x86)如果你使用的是开发版(DEBUG),可能还要下载Visual studio SP1VS80sp1-KB926601-X86-ENU.exe(可能您的不是ENU)
<<--原因分析-->
问题出,默认只对vs2005 Debug 和vs 2005 Release两种进行关联,其他的如vs 2005 unicode debug 、vs 2005 unicode release 、vs 2005 Debug MFC shared 、vs 2005 Release MFC shared 等等并没有进行关联,而实际编写程序的时候往往会用到这些,编译后运行就会出现 “应用程序正常初始化(0xc0150002)失败”的错误提示。
<<--未验证--->>
方法二:
室友机器上装的是VS2005,
一直都用的是VS2003,所以也想尝试一下使用VS2005,
于是我就下载了Ogre的VS8版本,
经历了半个小时漫长编译,
终于编译成功,
结果却发现不能执行,
只要执行就出错误0xc0150002.
后来查到说要装上VS8 SP1的补丁包,
于是就下载了安装了,
这个补丁包的安装真是旷古奇有,
装了2个小时左右才装好,
太恐怖了...
装好了之后还真的可以了,没有再出现错误了,并且我没有重新编译程序.
由此看来,可能是因为缺乏某一些dll所造成的.
再查资料说,应该是缺乏了Microsoft Visual Studio 8\VC\redist\x86\Microsoft.VC80.CRT下的4个dll.
还有人说安装vcredist_x86.exe 就可以了,看来依存的dll应该就在这个包里面,
至于具体是否如此,还需要验证.
我明天把编译好的东西cp到公司机器来,试一下就知道了.
[以下是实际操作部分]
铁一样的事实证明,是缺少了那三个dll文件所导致的这个错误,只要把三个dll复制到执行程序exe的当前目录下面,就可以了,这三个dll分别是:msvcm80.dll,msvcp80.dll,msvcr80.dll.
居然还害得我装了一个sp1的补丁包,哭呀......
文章评论