其他电脑运行生成exe出错

我自己利用vs+qt制作了一个小文件,生成了exe文件,在我自己的电脑上运行时没有问题的,在别人的电脑上就会显示缺少“qt5cord.dll”"qt5gui.dll""qt5widgets.dll",按照教程补上dll文件后,显示

img


总不能在别人的电脑也装上vs和qt吧

https://blog.csdn.net/qq_42495740/article/details/118992097
缺少插件,参考下吧

这种情况可能是因为在运行程序时缺少Qt相关的动态链接库(DLL)或Qt插件导致的。为了解决这个问题,有以下几个建议:

1.将Qt相关的DLL文件打包到程序文件夹中,并确保在程序运行时这些DLL文件可以被找到。可以将这些DLL文件直接放到程序的运行目录下或者创建一个“lib”或“dll”等文件夹专门用于存放这些DLL文件。在程序启动时使用代码加载这些DLL文件可以确保程序可以找到这些文件,例如:

AppDomain.CurrentDomain.AssemblyResolve += (sender, args) =>
{
    string dllName = new AssemblyName(args.Name).Name + ".dll";
    string path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "lib", dllName);
    if (!File.Exists(path))
    {
        return null;
    }
    Assembly assembly = Assembly.LoadFrom(path);
    return assembly;
};

这段代码会在程序启动时动态加载“lib”文件夹下的DLL文件,确保程序可以找到这些文件。

2.检查程序使用的Qt插件是否正确安装。有些Qt插件需要通过安装Qt框架来获得,例如使用Qt Quick的应用程序需要安装Qt Quick插件。在程序运行时,Qt会尝试加载这些插件并使用它们。如果缺少这些插件,程序将无法正常运行。在解决这个问题之前,可以尝试将程序拷贝到安装了Qt框架的电脑上运行,以确保程序可以正常工作。

3.确保程序的开发环境和运行环境一致。如果开发环境和运行环境不一致,可能会导致程序无法正常运行。例如,如果程序是在64位系统上开发的,但是在32位系统上运行,可能会导致某些DLL文件无法加载。确保程序的开发环境和运行环境一致可以减少这些问题的发生。

希望以上建议对解决问题有所帮助。

将出错信息放在百度搜索框里搜一下。

打包啊
windeployqt xxxxx.exe