相关疑难解决方法(0)

为什么有些DLL文件需要额外的.lib文件才能进行链接?

我有关于库链接和.lib文件的问题...

这是背景:

  • OS = Windows
  • IDE = QT

我创建了一个DLL:MyLib.dll.
要在我的QT项目中使用该库,我只需要包含一个包含路径,一个指向库的链接并使用头文件:

LIBS += "C:\myPath\MyLib.dll"
INCLUDEPATH += "C:\myPath"
HEADERS += \
    ../myPath/MyLib_global.h \
    ../myPath/mylib.h
Run Code Online (Sandbox Code Playgroud)

我在我的项目中使用第三方DLL:third.dll
如果我执行与上面示例相同的操作,则它不起作用:

LIBS += "C:\myPath\third.dll" 
Run Code Online (Sandbox Code Playgroud)

第三方DLL附带.lib文件"third.lib",我显然需要与DLL一起使用.

这是为什么?为什么有些DLL库需要.lib文件,但其他DLL库却不需要?
可能是.lib是一个访问DLL的静态库吗?

非常感谢!

dll qt shared-libraries dynamic-linking static-libraries

16
推荐指数
2
解决办法
4785
查看次数

DLL和LIB文件

DLL和LIB文件有什么区别?什么是DLL文件内部以及LIB文件中的内容?是否需要DLL和LIB文件来创建可执行文件?

compiler-construction dll linker static dynamic

6
推荐指数
1
解决办法
668
查看次数