当我发布我的Qt
项目时,我想重新分发QtCore4.dll
和QtGui4.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/