C++中创建与使用库(VisualStudio多项目)【C++学习笔记】

51 C++中创建与使用库(VisualStudio多项目)

主题:如何在VisualStudio中建立多个项目,以及如何创建一个库让所有项目都能使用

🍅创建一个项目作为库的项目(特别是静态库),然后把它链接到一个可执行文件中

在一个已有的解决方案上可以add多个new project

然后开始设置这两个项目的属性,比如有两个项目分别是game, engine,game为主的项目,engine为DIY的静态库

  • game项目属性页面下(对项目右键),在general属性下,在Configuration Type选项上设置为Application(.exe)
  • engine项目属性页面下(对项目右键),在general属性下,在Configuration Type选项上设置为Static library(.lib)(即是设置为静态库,大多数情况下,要设置为静态库)

以下以Game和Engine为例子!!!!

添加头文件内容

小技巧:点解决方案管理器上的show all files图标,就可以创建子文件去更加便利的管理源代码了

  • 对于主文件,最初要求只用一个.cpp文件就可以动了
  • 对于静态库,最初要求一个.cpp文件,还要一个.h头文件来装各类函数声明

当然了,要直接用engine里的东西,就要包括头文件,这里可以简单粗暴的直接读取地址目录,比如#include "../../Engine/Engine.h",这里的../意思是返回上一个目录。但是这样子很乱,用了很多相对路径,正确的来说应该使用绝对路径

💡💡💡简洁的做法应当是:点game项目属性,然后在C++general上,在**Additional Include Directories(附加的包含目录)**项上直接添加engine的源目录(源目录下就要有engine.cpp, engine.h)(当然这里记得用$(SolutionDir)来设置,更有普适性,比如$(SolutionDir)Engine\srcsrc里面就装了engine的所有东西)

如果用了上述方法,则在包含头文件时就直接#include "Engine.h"

当然了,现在只是添加了头文件,即添加了一堆函数声明,真正的库还没有被链接进去

添加库

当然这里可以像上一节添加外界的静态库一样设置,但这里因为是在本地DIY的,VisualStudio可以自动化链接本地的库

右键项目Game,点击add,然后是reference(依赖),然后就可以看见Engine项目了,直接选择Engine项目链接就可以把lib文件链接到我们的可执行文件中了(就像我们已经把它添加到连接器输出一样(设置Input))

如果将Engine设置成Game的依赖,Game会依赖于Engine,所以此时我们编译Game的时候会先编译Engine再编译Game,然后链接到一起。因为Game依赖于Engine!

最后再谈谈动态和静态

如果如上操作,最后会生成一个.exe文件,如果这个时候把.exe文件从debug文件中移到其他地方,依旧可以使用,因为当我们静态链接时,所有的东西都被放进入这个.exe文件中,没有外部文件依赖

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值