定义dll库路径

时间:2014-08-15 10:36:08

标签: visual-studio-2010 visual-c++

我有使用外部dll的项目。 Dll位于光盘上的特殊路径中。 Visual Studio运行项目以防万一我将dll复制到项目目录,但我需要将dll放在它的特殊路径中。如何告诉visual studio项目从该特殊路径加载dll?

1 个答案:

答案 0 :(得分:0)

SetDllDirectory ::将目录添加到用于查找应用程序DLL的搜索路径。

此外,DLL Search Order ::

如果lpPathName参数指定路径,则SetDllDirectory函数支持备用搜索顺序。 备用搜索顺序如下:

  1. 加载应用程序的目录。
  2. 由SetDllDirectory的lpPathName参数指定的目录。
  3. 系统目录。使用GetSystemDirectory函数获取此目录的路径。该目录的名称是System32。
  4. 16位系统目录。没有函数可以获取此目录的路径,但会搜索它。该目录的名称是System。
  5. Windows目录。使用GetWindowsDirectory函数获取此目录的路径。
  6. PATH环境变量中列出的目录。请注意,这不包括App Paths注册表项指定的每个应用程序路径。计算DLL搜索路径时不使用App Paths键。
  7. 如果lpPathName参数为空字符串,则该调用将从搜索顺序中删除当前目录。

    来自LoadLibrary :: 在备注部分,第8段建议,

      

    可以使用SetDllDirectory函数更改搜索路径。

    ...

    要在项目设置中添加备用路径,您可以执行此操作:: Working with Project Properties

      

    设置位置=配置属性 - >调试 - >环境

    Ex ::将C:\ RandomDir添加到PATH:

    PATH=C:\RandomDir;%PATH%