VS项目属性页详解和配置(笔记)

本文详细解释了静态库(lib)和动态库(dll)的区别,包括它们的组成、使用方式及优缺点。介绍了如何在项目中正确配置和使用这两种类型的库文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文件路径

  1. Bin文件夹下存放的是dll文件;
  2. Lib文件夹下存放对应dll文件的动态lib文件(依赖dll文件);
  3. staticlib文件夹下存放静态lib文件(与dll文件独立);
  4. include文件夹下存放头文件

静态lib文件

  静态lib文件是多个obj文件的集合(obj文件就是cpp文件编译之后产生的一种文件,一个cpp文件编译之后只会产生一个obj文件,而工程中多个cpp文件编译之后obj文件就可以链接生成lib库文件)
使用静态Lib文件的缺点:
  静态lib文件实际上是包含了所有的声明和实现。如果将lib文件链接到工程后,该lib文件中的所有代码都会嵌入进来(代码冗余),所以需要用dll,需要时才将所需代码嵌入。
调用静态lib文件:
(1)添加工程的头文件目录:项目—属性—配置属性—C/C+±—附加包含目录,此处加上头文件的存放路径(include文件夹);
(2)添加工程的静态库文件目录:项目—属性—配置属性—链接器—常规—附加库目录,此处加上静态lib文件的存放路径(staticlib文件夹);
(3)添加工程引用的lib文件名:项目—属性—配置属性—链接器—输入—附加依赖项,把用到的lib的名字都输入到这里。

静态lib文件与dll文件

  生成一个dll文件的时候,总伴随着生成一个动态lib文件,其大小小于静态lib,因为lib文件只包含函数索引信息,记录dll中函数的入口和位置,dll中存放具体的函数实现。dll其实就是exe文件,但由于没main函数,故不能单独执行。有些应用程序被分割成一些单独的相对独立的动态链接库,只有在执行应用程序的时候,用到的dll才会被调用。故会经常出现无法加载"xxx.dll"
调用动态lib文件与dll文件:
(1)添加工程的静态库文件目录:项目—属性—配置属性—链接器—常规—附加库目录,此处加上动态lib文件的存放路径(lib文件夹),告诉编译器动态lib库的位置;
(2)添加工程引用的lib文件名:项目—属性—配置属性—链接器—输入—附加依赖项,把用到的lib文件夹下所需要用到的xxx.lib的名字都输入到这里,告诉编译器所需动态lib库的名字;
(3)将所需的dll文件复制到exe文件所在文件夹;

项目属性页

VC++目录(全局项目的包含目录和库目录):

在这里插入图片描述

  • 包含目录:寻找#include<xxxx.h>中的xxxx.h的搜索目录
  • 库目录:寻找.lib文件的搜索目录

C/C++(仅作用于当前项目):

  • 附加包含目录:寻找#include<xxxx.h>中的xxxx.h的搜索目录
    在这里插入图片描述

链接器

  • 附加库目录:寻找.lib文件的路径(文件夹)
    在这里插入图片描述

  • 附加依赖项:所需lib库的名字(xxx.lib)
    在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CV科研随想录

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值