如何在Qt中使用静态库.lib(和VS一样,仅仅是操作方式略有差异)
如何在VS中创建.dll动态链接库、dll中函数与类的导出用__declspec(dllexport)
如何在Qt和VS中使用动态链接库.dll文件----以隐式链接的方式
如何在VS和Qt中使用动态链接库.dll—以显式链接的方式
一、使用VS创建静态链接库.lib
-
创建一个VS项目
☞ 可以是一个空项目或VS中自带的静态库项目模板
☞
空项目
中没有原始代码或文件,我优先选择这种模式☞
静态库
项目有一些原始代码和文件,其中pch.h
是预编译标头文件,用于加快编译性能;framework.h
文件也是自动生成的可以不用管 -
设置相应的编译选项
☞
空项目
:项目属性—配置属性—常规—配置类型—选择静态库(.lib)☞
配置
和平台
可以选择Debug、Win32或其他设置,调用方使用相同配置即可
☞ 额外提醒:工具栏的配置和平台选择与上述属性界面的配置和平台选择是一个东西
-
添加代码并生成
☞ 添加需要的
头文件(.h)
和源文件(.cpp)
☞ 编译生成即可 -
结果
生成之后,可以根据输出提示找到相应的
.lib文件
的位置
静态库项目
:已经默认设置配置类型为静态库(.lib)
了,其原有的文件可以不用动,另外添加头文件(.h)
和源文件(.cpp)
即可
二、在项目中使用静态链接库.lib
方式一:
-
复制静态库的
头文件(.h)
和库文件(.lib)
至项目目录复制到项目目录后,将
头文件.h
添加进项目:头文件—添加—现有项—找到头文件进行添加 -
在项目属性中添加
库文件(.lib)
项目属性—配置属性—链接器—输入—附加依赖项—将库文件名写进去即可
-
在代码中包含
头文件(.h)
// main.cpp文件中 #include "LibTest.h" //假设我的文件名字是LibTest.h
-
注意事项:
库使用的平台(x64、x86)和配置(release、debug) 应和调用方项目一致
方式二:不依赖于VS平台,在代码层面调用
#pragma comment(lib, "LibTest.lib") // 当库文件处于项目所在目录时,使用的是相对路径
#include "LibTest.h"
#pragma comment(lib, "D:\\桌面\\LibTest.lib") // 也可以使用绝对路径
#include "LibTest.h"
方式三:直接将lib添加进项目的资源文件中

总结:
都需要让程序加载.lib
静态库文件以及include(包含)
.h
头文件来指导函数调用