如何在Visual Studio Code中使用第三方DLL

4
我有几个头文件调用DLL文件中的函数,我想知道如何在Visual Studio Code中提供头文件和DLL文件之间通信的链接。
如果需要更详细的说明,请告诉我。

1
只需在您的C++代码中简单地 #include DLL头文件,然后将DLL导入 .lib 文件添加到您的项目中。或者,如果没有 .lib 文件(尽管您可以根据需要轻松从DLL生成它们),您可以通过 GetProcAddress() 在运行时动态加载DLL函数。 - Remy Lebeau
将dll文件和相应的头文件放在同一个文件夹中,这样就足够了吗? - Daniel Ramsey
只要编译器能找到头文件,链接器能找到导入库,它们就不需要被放在特定的位置。 - Remy Lebeau
要运行具有依赖dll的应用程序,它们必须位于PATH环境变量中列出的文件夹之一或与可执行文件相同的文件夹中。 - drescherjm
2个回答

2
在Visual Studio Code中,使用DLL需要执行以下步骤:
  1. 从DLL文件创建lib文件。
对于MinGW,大致如下:
dlltool --input-def your_external_lib.def --dllname your_external_lib.dll --output-lib your_external_lib.lib
  1. modify the tasks.json

    {
    "version": "2.0.0",
    "tasks": [
        {
            "label": "your_project_name",
            "type": "shell",
            "command": "g++",
            "args": [
                "-g",
                "-o",
                "main",
                "main.cpp",
                "-LC:\\YOUR_LIB_PATH"
                "-lyour_external_lib",
                "-Wall",
                "-Wextra"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            }
        }
    ]
    }
    
  2. Add *.hpp and *.h files to your project and build!

参考资料:http://www.mingw.org/wiki/Specify_the_libraries_for_the_linker_to_use

1

我相信您正在尝试访问在 DLL 中定义的代码。

通常,我们需要在所有需要导出的函数中提供所有 DLL 项目。__dllexport__。当我们构建该 DLL 项目时,将生成 .lib 和 .dll,基于所有导出的函数。

因此,当您想要使用在某个头文件中声明并在 DLL 中定义的成员函数时,需要按照以下步骤进行操作:

  1. 在 Visual Studio 中,将生成的 .lib 添加到链接器-输入-附加项中
  2. 在依赖项中添加链接器-常规-附加库目录的路径
  3. 将 .dll 放置在您的 .exe 运行的路径中

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接