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

时间:2019-03-01 23:30:50

标签: c++ dll visual-studio-code mingw-w64

我有几个头文件,它们从DLL文件中调用函数,我想知道如何提供头文件和DLL文件的链接,以便在Visual Studio Code中进行通信。

让我知道您是否需要我详细说明。

3 个答案:

答案 0 :(得分:0)

  1. 将DLL标头添加到包含路径:

    Configuration Properties -> C/C++ -> General中。在“其他包含目录”中,输入标头(.h)文件位置的路径。

  2. 将DLL导入库添加到项目中:

    Configuration Properties -> Linker -> General中。在“其他库目录”中,输入库(.lib)文件的路径。

    Configuration Properties -> Linker -> Input中。在“其他依赖项”中,添加我们要链接的库的文件名。 (例如:demo.lib)

  3. 将DLL添加到项目目录中:

    一种方法是在构建过程中将DLL复制到包含客户端可执行文件的目录中。或者,您可以添加一个构建后事件(可在Configuration Properties -> Build Events中使用)命令,该命令将DLL复制到构建输出目录中。

    有关更多信息,请参见here

答案 1 :(得分:0)

我相信您正在寻求访问Dll中定义的代码。 通常,所有Dll项目我们都需要提供所有需要导出的功能。 __dllexport__ 构建完DLL项目.lib和.dll后,将根据导出的所有函数来生成该文件。

因此,当您要使用在某些标头中声明并在DLL中定义的成员函数时,需要执行以下步骤。

  1. 在Visual Studio中,添加在Linker-Input-additional
  2. 中生成的.lib
  3. 依赖项添加链接程序->通用->其他库目录的路径
  4. 将.dll放入.exe运行的路径中

答案 2 :(得分:0)

在Visual Studio代码中,这些是使用DLL所需的步骤:

  1. 从DLL创建lib文件。

使用MinGW就是这样:

dlltool --input-def your_external_lib.def --dllname your_external_lib.dll --output-lib your_external_lib.lib
  1. 修改task.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. 将* .hpp和* .h文件添加到您的项目中并进行构建!

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