使用库(静态链接)

在项目中使用外部库,理想的项目设置是,如果签出到远程存储库/代码仓库/来自github或其他,应该在存储库中有所需的东西,以便能直接编译和运行项目的应用程序,不需要考虑包管理去下载其他需要的库。包管理器来加外部库,通常在C#,JAVA,或者Python中用。

因此在实际项目文件夹中,保留使用的库的版本,可以包含依赖库的源代码,然后将其编译为静态或动态库,没有源代码就链接二进制文件,下面举例链接二进制GLFW库。克隆存储库,然后可以编译和运行。

首先下载 32-bit Windows binaries
下载的文件为C++库的典型组织结构:包含目录和库目录。
包含目录(include目录):一堆头文件,这样可以使用预构建的二进制文件中的函数;
库目录(lib目录):预先构建的二进制文件,通常有动态库和静态库。
注:静态链接是这个库会被放到可执行文件中(例如.exe),动态链接是在运行时被链接。

网址:https://www.glfw.org/
在这里插入图片描述
将下载的东西放到工程文件下,新建文件夹如下所示:
在这里插入图片描述

#include <iostream>
#include <GLFW/glfw3.h>
//#include "GLFW/glfw3.h" 第二种写法,<>链接外部,""在解决方案中一起编译
//int gifwInit() {return 0;}  这也是个函数,但是不在glfw3.h里面,要做的是链接到glfw3.h里面的gifwInit()函数

int main()
{
	int a = glfwInit();
	std::cout << a << std::endl;

	std::cin.get();
}

为了找到头文件,如下这样设置:
$(SolutionDir)是一个宏
在这里插入图片描述

为了链接到头文件中的函数,这样设置:
在这里插入图片描述

在这里插入图片描述
注:如果编译我的应用程序,X86就是win32程序,那就要用32位的二进制文件;如果编译64位应用程序,那就要用64位的二进制文件,需要匹配不然无法进行链接。

由于这里是32位的应用程序,所以选如下,不然报错。在这里插入图片描述
最后得到如下输出。

在这里插入图片描述

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值