将单个DLL用于需要它的多个项目

问题描述 投票:0回答:1

因此,我目前在计算机上有很多项目都使用相同的库。让我感到烦恼的是,它们各自的文件夹中都必须具有相同的DLL。当然,我不需要手动复制它们(我的编译器为我完成了工作),但这不是问题。问题是我大约有25个相同的巨大DLL副本。

因此,我想知道是否可以使用DLL或类似的东西定义路径变量,以便在执行时,程序可以在精确的位置找到它。关键是,由于我有时将这些项目传递给其他人,因此需要在文件夹内而不是其他位置使用动态链接库。而且,当然,如果有一个我使用相同库但另一个版本下载的应用程序,则它当然不应优先于我定义的DLL的优先级,而应优先于与它捆绑的DLL。

因此,总而言之,我需要无法在其文件夹中找到DLL的程序来依靠精确的预定义目录来找到它。

我不确定是否有可能。任何帮助将不胜感激,并且已经感谢您阅读本文。

windows dll
1个回答
0
投票

对于本地开发,最简单的方法是在PATH环境中仅拥有DLL的副本。 尽管不建议客户使用最简单的方法是将DLL复制到您的System directory。即,将其复制到c:\windows\system32c:\windows\syswow64中。完全适合开发用途。

或创建一个仅用于保存此DLL副本的自定义文件夹。更新Windows PATH via Control Panel,以指向具有DLL的目录。

或使用App Paths registry key修改特定EXE的PATH。

所有这些解决方案都存在版本控制问题,对于本地开发来说可能是或不是问题。

为了向客户分发代码,只需将EXE和相关的DLLs放在同一文件夹中是最尝试和正确的方法。

也请阅读:https://docs.microsoft.com/en-us/windows/win32/dlls/dynamic-link-library-search-order

© www.soinside.com 2019 - 2024. All rights reserved.