添加库
在solution路径下创建Dependencies文件夹,将第三方库的include文件夹和lib文件夹复制到该路径下(以GLFW为例)。
一般的CPP库都有这样的结构,include中存放头文件,添加这些头文件可以获取到声明(函数声明和变量声明)。至于lib,链接器从中获取到定义。lib文件夹一般包含三类文件:
1 glfw3.dll文件,运行时动态链接库,动态链接时使用
2 glfw3dll.lib文件,实际上是一种静态库,与glfw3.dll一起使用,包含了dll文件中所有函数、符号的位置,在编译时链接。如果没有该文件,则直接访问.dll查找定义。
3 glfw3.lib静态链接库,比其他文件大得多
添加头文件
添加库文件
静态库
动态库
头文件同时支持静态链接和动态链接,也就是说,无论通过那种方式链接,对头文件的配置是一样的。
glfw3dll.lib文件包含了指向glfw3.dll的一堆指针,需要包含这个文件,避免函数与变量指向错误。
然后将glfw3.dll文件和可执行文件放在一处,使之可以被自动搜索加载。
得到了静态加载时一样的结果,此时双击可执行文件运行也是如此。
静态
静态链接意味着这个库会被放到你的可执行文件中,它在你的可执行文件中
故此编译器和链接器可以看到更多内容,实现优化
动态
动态链接库是在运行时被链接的,在程序运行时,装载动态链接库
故需要可执行文件和dll文件在一起
本文是学习@Cherno大佬的CPP视频过程中跟着一起敲敲代码,权作记录