关于“应用程序无法正常启动(0xc000007b)。请单击“确定”关闭应用程序。”
最近换了新电脑,赶时髦装上了Win7 x64旗舰版,以前一直用x86系统,换到x64之后使用上没有遇到过啥问题,直到今天,要调试以前的一份老代码,在原来的Win7 x86下可以正常运行,但是今天启动程序的时候,一直报“应用程序无法正常启动(0xc000007b)。请单击“确定”关闭应用程序。”,我以为是简单的运行时问题,于是又重新编译了一遍(Win32模式),结果问题依旧,上网搜索良久也无甚收获,说得最多的就是一些硬盘版游戏启动时遇到这种错误,但是和我的情况不尽相同。折腾了一下午,没法了,只有曲线救国装了个虚拟机运行Win7 x86,然后来调试代码。
虚拟机系统装好以后,我试着运行了一下程序,结果提示libmysql.dll找不到,我这才想起来MySql忘装了,装上MySql,程序顺利运行起来。就在这么一刹那,灵光一闪,我突然好像想到了什么,因为本机装的Win7 x64,所以安装的程序我都尽量找x64版本的,MySql也不例外,莫非就是这个DLL版本的问题?我赶紧把虚拟机里装好的x86 MySql的libmysql.dll拷贝到我的程序目录下,运行,bingo!一切正常了!
才用上x64系统做开发,经验不足啊,因为一时疏忽,忘记了这种导致错误的可能性,Win32程序可以在Win64下运行,但是一定得有对应版本的DLL才行,否则就是“当!”的一声在脑海里回响纠结一下午……