应用程序初始化失败问题的解决
作者:朱金灿
来源:http://www.cnblogs.com/clever101
今天同事问我一个有点诡异的问题,就是他用VS C++2005编译的程序在按F5调试时总是起不来,出现“应用程序初始化失败问题”的对话框,而这个程序在我的机子上可以顺利运行。首先我在应用程序类的InitInstance函数设置了断点,然后按F5调试运行,但是程序并没有进入这个函数。然后我又在应用程序类全局变量定义处设置断点,但是程序还是没有进入。我感觉这个可能是VS 2005的安装有问题。但同事告诉我他机子上其它用VS C++ 2005编的程序可以正常运行。思考了一会,我认为问题可能存在于我和同事的编译环境不一致上:我的编译环境是英文版VS 2005(带sp1),同事的是中文版VS 2005(不带sp1)。我怀疑程序所依赖的动态库在我的机子上编译过,但是在同事的机子上直接使用会有问题,毕竟是在不同编译环境编译出来的。于是我让同事把所有依赖的库在他机子上都编译一遍,结果程序可以正常调试运行。后来我想起我在同事的VS2005的输出窗口上发现在加载一个dll出现异常退出,这证实了我的判断是对的。