VS2022 添加 dll 库文件

参考链接

Visual Studio中的C++程序如何使用第三方静态库和动态库? - 掘金

1,添加库文件路径

在 Visual Studio 2022 中,可以通过在项目属性页面中添加库文件的目录,让编译器知道需要链接的库文件的位置。具体步骤如下:

  • 打开项目属性页面:在“解决方案资源管理器”中右键单击要配置的项目,选择“属性”菜单项。

选择“VC++ 目录”选项卡:在“属性页”中选择“VC++ 目录”选项卡。添加包含目录:在“包含目录”中添加库文件的路径,包括 .h 文件所在的目录。

添加库目录:在“库目录”中添加库文件的路径,包括 .lib 文件所在的目录和 .dll 文件所在的目录。

 

添加库文件名

同样是在项目属性页面中添加库文件的名称,让编译器知道需要链接的库文件的名称。具体步骤如下:

  • 打开项目属性页面:在“解决方案资源管理器”中右键单击要配置的项目,选择“属性”菜单项。

  • 选择“链接器”选项卡:在“属性页”中选择“链接器”选项卡。

  • 需要注意的是,对于 .dll 文件,还需要将其复制到可执行文件所在的目录下。也就是需要拷贝库文件到生成exe程序的路径下

除了将 DLL 文件复制到可执行文件所在的目录下,还可以通过设置动态链接库的路径来指定 DLL 文件的位置。具体来说,可以通过以下方法之一来设置动态链接库的路径:

  1. 使用 SetDllDirectory 函数来设置 DLL 文件所在目录的路径。

    #include <Windows.h>
    
    int main() {
      SetDllDirectory(L"C:\\path\\to\\dlls");
      // ...
      return 0;
    }
    复制代码
  2. 在程序中使用 LoadLibrary 函数加载 DLL 文件时,指定 DLL 文件的完整路径。

    #include <Windows.h>
    
    int main() {
      HMODULE hDll = LoadLibrary(L"C:\\path\\to\\mydll.dll");
      if (hDll == NULL) {
        // 处理加载失败的情况
      }
      // ...
      FreeLibrary(hDll);
      return 0;
    }
    复制代码
  3. 在程序中使用 LoadLibraryEx 函数加载 DLL 文件时,指定 DLL 文件的路径以及一些其他的加载选项,如 LOAD_WITH_ALTERED_SEARCH_PATH。

    #include <Windows.h>
    
    int main() {
      HMODULE hDll = LoadLibraryEx(L"C:\\path\\to\\mydll.dll", NULL, LOAD_WITH_ALTERED_SEARCH_PATH);
      if (hDll == NULL) {
        // 处理加载失败的情况
      }
      // ...
      FreeLibrary(hDll);
      return 0;
    }
    复制代码

这些方法可以避免将 DLL 文件复制到可执行文件所在的目录下,但也可能带来一些其他的问题,比如 DLL Hell,因此需要根据具体的情况进行选择。我们这里暂时就选择最简单的拷贝方式了。

作者:鲁班代师
链接:https://juejin.cn/post/7200297595474624573
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

猜你喜欢

转载自blog.csdn.net/CHYabc123456hh/article/details/129856820