我有几个头文件,它们从DLL文件中调用函数,我想知道如何提供头文件和DLL文件的链接,以便在Visual Studio Code中进行通信。
让我知道您是否需要我详细说明。
答案 0 :(得分:0)
将DLL标头添加到包含路径:
在Configuration Properties -> C/C++ -> General
中。在“其他包含目录”中,输入标头(.h)文件位置的路径。
将DLL导入库添加到项目中:
在Configuration Properties -> Linker -> General
中。在“其他库目录”中,输入库(.lib)文件的路径。
在Configuration Properties -> Linker -> Input
中。在“其他依赖项”中,添加我们要链接的库的文件名。 (例如:demo.lib)
将DLL添加到项目目录中:
一种方法是在构建过程中将DLL复制到包含客户端可执行文件的目录中。或者,您可以添加一个构建后事件(可在Configuration Properties -> Build Events
中使用)命令,该命令将DLL复制到构建输出目录中。
有关更多信息,请参见here。
答案 1 :(得分:0)
我相信您正在寻求访问Dll中定义的代码。
通常,所有Dll项目我们都需要提供所有需要导出的功能。 __dllexport__
构建完DLL项目.lib和.dll后,将根据导出的所有函数来生成该文件。
因此,当您要使用在某些标头中声明并在DLL中定义的成员函数时,需要执行以下步骤。
答案 2 :(得分:0)
在Visual Studio代码中,这些是使用DLL所需的步骤:
使用MinGW就是这样:
dlltool --input-def your_external_lib.def --dllname your_external_lib.dll --output-lib your_external_lib.lib
修改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
}
}
]
}
将* .hpp和* .h文件添加到您的项目中并进行构建!
参考:http://www.mingw.org/wiki/Specify_the_libraries_for_the_linker_to_use