Cherno C++学习笔记 P51 创建并使用库

这一章我们尝试来自己创建并生成一个库。

在一开始的时候,我们需要注意,我们生成一个解决方案之后,其实可以在解决方案里面添加很多项目,这个之前还没有尝试过,所以这里我们可以试一下该怎么做。我们首先创建一个叫做Game的解决方案+项目,然后在项目里面新建一个src文件夹,把我们的源代码都放到这个src文件夹下面,如图所示:

然后我们在解决方案当中添加另一个项目Engine,意味着我们有一个游戏解决方案,然后我们把一个游戏引擎项目添加到里面来。

如图所示,我们就可以为我们的解决方案添加多个项目啦。

我们在Engine里面添加一个print函数,就很简单的打印一个hello world,然后我们在设置-常规当中把Engine设定为输出类型是.lib,也就是我们会把它编译为一个静态库。在写好代码之后,我们直接生成这个项目,就可以获得对应的.lib文件了。

接下来我们可以写一下Game的代码。首先我们需要包含头文件,包含的方式可以直接用相对路径的方式进行包含:

cpp 复制代码
#include"../../Engine/src/head.h"

但是我们可以发现,这种写法实在是太麻烦了,所以我们可以在我们的Game项目属性当中添加进来这个路径:

然后我们直接写下包含对应的头文件就可以了:

cpp 复制代码
#include"header.h"

然后我们需要把之前生成的.lib库链接过来。我们可以采用之前的方式进行链接。但是因为这是我们自己的解决方案里面的库,所以还有一些更容易的链接方式,我们可以直接采用添加-引用的方式来把我们写好的库添加进来:

这样我们选择Engine,就可以把我们这个库添加进来啦。这样我们生成就可以成功的打印这句话了。

以上就是有关于自己创建一个库并链接的过程,希望大家能够喜欢!

相关推荐
red_redemption1 天前
自由学习记录(208)
学习
一起努力啊~1 天前
DataWhale组队学习笔记--llm-algo-leetcode(五)
笔记·学习·llm
zjun10011 天前
C++:单例模式
c++·单例模式
是上好佳佳佳呀1 天前
【机器学习|DAY03】K近邻算法(KNN)笔记
笔记·机器学习·近邻算法
世人万千丶1 天前
鸿蒙Flutter Flex多子组件权重分配
学习·flutter·华为·harmonyos·鸿蒙
同勉共进1 天前
记一例 vibe coding + gcc bug 导致的线程池死锁问题
c++·线程池·gcc·死锁·vibe coding
我叫洋洋1 天前
C ++ [ hello world ]
c语言·c++·算法
圣光SG1 天前
Servlet学习笔记
笔记·学习·servlet
奋发向前wcx1 天前
y1,y2总复习笔记5 2026.7.19
数据结构·笔记·算法
@Mike@1 天前
02-数据库学习笔记(SQL引擎)
数据库·笔记·学习