如何在发布Qt项目时为Qt dll设置相对路径?

Igo*_*Oks 7 windows dll qt path dynamic

当我发布我的Qt项目时,我想用我的项目重新分发QtCore4.dllQtGui4.dll文件,但不在我的同一目录中.exe(在其他一些相对路径中).

如何让我.exe自动找到它们?

我也不想%PATH%在客户的环境中设置或任何其他环境变量.

Dav*_*eer 1

也许最安全的方法是使用在启动应用程序之前更改(但仅限于该会话)的脚本PATH启动应用程序。这是我用来启动自定义版本的脚本Qt Creator

set PATH=%PATH%;C:\Qt\qt474_custom_msvc2008_x64\lib;C:\Qt\jom
start C:\Qt\qtcreator231__custom_msvc2008_x64\bin\qtcreator.exe
Run Code Online (Sandbox Code Playgroud)

我认为还有其他选择,例如SetDllDirectory,但是(就像rpath*nix 上一样),它们会引入其他问题。并行 dll 或更改 PATH 似乎是最稳定的解决方案。

另外,您的意思是要部署这些 dll 的调试版本(QtCore* d *4.dll 等)吗?这将是非常不寻常的——确保您使用发行版本。(当然,除非您有充分的理由使用调试版本。)