我在一个特定目录的不同子目录中有四个不同的.exes。所有的程序都需要完全相同的.dll(Qt5Core,Qt5Gui和Qt5Widgets)。有没有办法让这三个.dll只在根目录中,而不必将它们复制到每个子目录中?将qt dll链接到多个可执行文件
1
A
回答
1
Here you find the order其中在Windows上搜索DLL路径:
由于安全的DLL搜索模式是en默认体健,顺序是
- 从其中加载应用程序的目录。
- 系统目录。使用GetSystemDirectory函数获取此目录的路径。
- 16位系统目录。没有获得该目录路径的函数,但它被搜索。
- Windows目录。使用GetWindowsDirectory函数获取此目录的路径。
- 当前目录。
- PATH环境变量中列出的目录。请注意,这不包括App Paths注册表项指定的每个应用程序路径。计算DLL搜索路径时不使用App Paths键。
所以最容易做的事情是要确保你从你放置的DLL(5)的工作目录中运行你的应用程序。这可以通过编写一个首先在那里导航的starter.bat文件,然后相对于DLL direcory运行应用程序来完成。
另一种方法是将DLL目录添加到启动器.bat文件(6.)中的PATH中。
在这两种情况下,您都需要为每个要运行的.exe包装脚本。
如果可以确保指向应用程序的链接正确设置工作目录,则可以避免这种情况。如果您有一个安装程序为用户创建快捷方式,并且您知道用户不会通过右键单击.exe自行创建一个自己,那么这将起作用。
有可能还在使用hardlinks or junctions的方式,但我不知道你是否可以复制和部署在Linux上那些像符号链接,或者如果您需要在目标系统上创建它们。
0
相关问题
- 1. 将多个C库链接到C创建可执行文件
- 2. 运行链接到0x400000的多个可执行文件
- 3. 复制可执行文件链接到可执行文件目录的所有dll
- 4. Cmake只链接到可执行文件
- 5. 将qt中的dll链接到ct中以读取.mat文件
- 6. g ++无法将.o文件链接到可执行文件中
- 7. 链接一个可执行文件
- 8. Qt并链接到一个外部DLL
- 9. QT Creator中的部署和静态包装将QT和OpenCV链接到单个可执行文件中
- 10. helink dll可执行文件
- 11. 使用CMake将Qt DLL复制到Windows上的可执行文件目录
- 12. C++将各种资源文件链接到一个可执行文件中
- 13. CMake - 仅在需要时将库链接到可执行文件
- 14. 将可执行文件链接到代码块
- 15. GCC将共享库链接到可执行文件
- 16. 如何将库链接到cmake中的可执行文件?
- 17. 将dyld链接到可执行文件本身的函数?
- 18. 将libcutils链接到本机可执行文件
- 19. 将Qt DLL链接到Qt App - 未解决的引用
- 20. 可以将.so文件静态链接到可执行文件吗?
- 21. 将多个文件拖放到可执行文件C上#
- 22. C++可执行文件链接问题
- 23. 在将文件链接到最终可执行文件之前将文件合并到单个目录中
- 24. 可以将单个xml文件链接到多个java类吗?
- 25. Qt和可执行的DLL的
- 26. 在Qt中链接win32 dll
- 27. 一个大的可执行文件或很多小的DLL?
- 28. 调试调试DLL链接到发布的可执行
- 29. 可移植性如何将可执行文件链接到可加载模块?
- 30. 链接后最小的可执行文件大小