出错信息:内存地址0x00000000 禁止访问,程序被中止。
原因:plugins目录没找到相应插件造成的。
1.测试编译的exe需要哪些dll,暂时修改qtsdk安装目录的文件夹名,运行exe时,提示却xxx.dll ,一一拷贝到exe同级目录//制造无qt环境的pc
2.如果用到qt中的plugins下的库如:sqldrivers,codecs下的数据库驱动和中文编码等插件, QTextCodec *codec;定义时一定要定义成局部变量,否则运行exe出错。
3.main.cpp中添加上述插件路径plugins,使得程序也能从当前路径找plugins目录
//增加plugins插件目录使得能找到sqldrivers codecs目录,代码中QTextCodec只能定义为局部变量,不能定义成全局变量,否则还是找不到codecs目录
QString path = "./plugins";
QApplication::addLibraryPath(path);
4.拷贝 qtsdk目录中的plugins目录到exe同级目录即可。