Qt发布Qt.conf

Qt发布Qt.conf,qt,Qt,当我发布我的Qt项目时,我想重新分发QtCore5.dll和Qtxxx.dll文件 如何使myapp.exe自动查找它们? 最好的方法似乎是编辑一个qt.conf文件,该文件与我的可执行文件放在同一个文件夹中 myapp.exe位于c:\myapp\bin文件夹中 dll位于c:myapp\common文件夹中只需将所有必需的dll文件与可执行文件放在同一目录中即可 请注意,要分发的文件不仅仅是Qt*.dll,您还需要从platforms子目录中获得合适的插件等等。阅读有关在Windows下部署

当我发布我的Qt项目时,我想重新分发QtCore5.dll和Qtxxx.dll文件

如何使myapp.exe自动查找它们? 最好的方法似乎是编辑一个qt.conf文件,该文件与我的可执行文件放在同一个文件夹中

myapp.exe位于c:\myapp\bin文件夹中


dll位于c:myapp\common文件夹中

只需将所有必需的dll文件与可执行文件放在同一目录中即可

请注意,要分发的文件不仅仅是Qt*.dll,您还需要从platforms子目录中获得合适的插件等等。阅读有关在Windows下部署应用程序的Qt文档-它将教会您所有必需的文件。

更好的方法是将Qt.conf放入资源:/Qt/etc/Qt.conf。这种方式对于解决平台依赖关系具有最高优先级

在我们的项目中,我们使用cmake生成必要的qt.conf文件:在调试模式下,我们将安装的qt二进制文件的路径放入release-to-local-deploy文件夹中


Qt5xxx.dll文件是链接的,所以您应该将其放置在同一文件夹中,或者通过PATH环境变量使其可用。如果你真的想要这种奇特的再分配系统,请说出真正的原因-你可以创建自己的特定于平台的启动器,从任何路径加载必要的.dll。

my app.exe位于c:\myapp\bin文件夹中。dll位于c:myapp\common文件夹中。你可以编辑你的问题,使其更具可读性和回答性。您不应该评论自己的问题所有必需的dll都在C:\myapp\common中,我的应用程序在C:\myapp\bin中。我将qt.conf[path]Prefix=$myapp\u HOME\common Plugins=$myapp\u HOME\common放在与我的可执行文件相同的目录中,如果不成功,它将无法在Windows下工作。所有可执行文件和dll文件必须位于同一目录中。很抱歉这就是它在Windows下的工作原理。这里有一个关于这个主题的更详细的描述:但是它起作用了,您只需正确地插入路径。我忘了输入我最后要说的话。请展开密钥路径环境变量:C:\myapp\common\bin;C:\myapp\common\plugins;在主程序中,我添加了QCoreApplication::addLibraryPathQString::fromLocal8BitToolPathEnv+\\common;QCoreApplication::addLibraryPathQString::fromLocal8BitToolPathEnv+\\common\\plugins;我在PATH环境变量中设置它。qt.conf与myexecutable.myapp.exe放在同一目录中,其内容为:[path]Prefix=$myapp\u HOME\common Plugins=plugins@Pogel,如果您的应用程序将存储在具有复杂unicode名称的文件夹中,则您的解决方案将不起作用。我的应用程序没有具有复杂unicode名称的文件夹。如果您只为自己编写应用程序,则这是您故意犯的错误。我无话可说,如果您不想修复代码中的错误。。。