windows - 发布Qt项目时如何设置Qt dll的相对路径?

标签 windows qt dll dynamic path

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

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

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

最佳答案

可能最安全的方法是使用一个脚本来启动您的应用程序,该脚本在启动您的应用程序之前更改PATH(但仅针对该 session )。这是我用来启动自定义版本的 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

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

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

关于windows - 发布Qt项目时如何设置Qt dll的相对路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8417208/

相关文章:

windows - 有没有一种方法可以禁用 Windows 8 的手势

c++ - 延迟加载 DLL

python - 如何在 PyQT 中检索转储到标准输入的字符串?

javascript - Qt QML Javascript 是如何管理内存的?

c++ - QGLWidget 在 Windows 7 中显示为黑色

c++ - Delphi:使用调试器调用 C dll 函数需要 15 秒,没有调试器需要 0.16 秒。为什么?

c++ - 延迟加载 DLL 和关联的 .lib 文件

windows - 用于 python 脚本的 EXE 文件

c++ - C++ 游戏编程中的 Direct-X

c - Linux 中对 `__imp_WSAStartup' 的 undefined reference