一、静态库

静态库的使用需要(1).h头文件;(2).lib静态库文件;

1、静态库生成

(1)项目-右键属性-常规-配置类型-选静态库;

(2)点击生成,Debug文件夹下出现lib静态库;

2、静态库使用

(1)新建一个测试项目,将生成的funAdd.h和funAdd.lib复制到新工程目录下;

(2)demo调用成功

二、动态库

动态库的使用需要(1).h头文件;(2).lib静态库文件;(3).dll动态库文件;

1、动态库生成

动态库文件的生成稍麻烦一些;

(1)首先创建新项目,类型选“动态链接库”;

可以看到生成的项目已经默认添加了framework.h,pch.h,framework.cpp,pch.cpp;

(2)默认文件无需更改,添加我们自己编辑的funAdd.h和funAdd.cpp;

其中在funAdd.cpp中需要引用pch.h,(如下)

funAdd.h文件的声明需要添加__declspec(dllexport)函数,(如下图)

(3)如果按照 “一、静态库、(1)静态库生成”步骤会发现只生成了.dll 文件而没有.lib文件;

此时首先需要:项目右键-添加-新建项-选择.def文件添加,添加后不需要任何改动;

        添加.def文件后,点击生成解决方案,发现生成了 .dll 和.lib两个文件;

2、动态库的使用

(1)新建一个demo项目,将dll,lib,和.h头文件拷贝至目录下;

(2)在主程序中引用,成功调用;

附上静态库、动态库的区别 :

windows中静态库lib和动态dll的区别及使用方法_dxzysk的专栏-CSDN博客

VS2019:C++程序lib静态库、dll动态库的生成和使用相关推荐

  1. C++中.lib静态库、.dll动态库的生成及调用2

    关于动.静态库的介绍及静态库的生成及调用参见:C++中.lib静态库..dll动态库的生成及调用<1>,本文主要介绍基于VS2015平台的动态库dll的生成及调用方法. 一.动态库的生成 ...

  2. C++中.lib静态库、.dll动态库的生成及调用1

    一.前言 1.动态链接库(dll)与静态链接库(lib): 动态链接库(dll)是一个可以被其他应用程序共享的程序模块,其中封装了一些可以被共享的例程和资源.在链接步骤中,连接器将从库文件取得所需的代 ...

  3. VC环境下的静态库(lib)使用和动态库(Dll)的使用(清晰版)

    VC环境下的静态库使用 一.  静态库包括.lib和.h文件,在工程中使用静态库分为3步: <1> 在工程中加入静态库,有三种方法: **方法一:项目设置中引用.lib,project-& ...

  4. 【Cmake实战:番外】库、动态库和静态库(.dll,.so,.lib,.a)

    [Cmake实战:番外]库.动态库和静态库(.dll,.so,.lib,.a) 一.什么是库 二.库的种类 三.命名方式 四.动态库和静态库的特点 五.如何知道一个可执行程序依赖哪些库 六.linux ...

  5. C/C++库文件全了解(包含静态库、动态库,包含windows、linux,包含dll、lib、so)

    目录 C/C++库文件全了解 一. 前言 二. 名词解释 2.1. windows的静态库:xxx.lib 2.2. windows的动态库:xxx.dll 2.3. linux的动态库:libxxx ...

  6. .h头文件 .lib库文件 .dll动态库文件之间的关系

     .h头文件是编译时必须的,lib是链接时需要的,dll是运行时需要的. 附加依赖项的是.lib不是.dll,若生成了DLL,则肯定也生成 LIB文件.如果要完成源代码的编译和链接,有头文件和li ...

  7. 如何判别lib文件是静态库还是动态库的导入文件呢

    我么知道lib文件存在两种情况: 一种是LIB包含了函数所在的DLL文件和文件中函数位置的信息(入口),代码由运行时加载在进程空间中的DLL提供,称为动态链接 库dynamic link librar ...

  8. C程序编译过程及常见选项--静态库和动态库

    C程序编译过程及常见选项--静态库和动态库 前言 一.gcc详讲 1.1 编译过程 1.2 预处理 1.3 编译(Compilation) 1.4 汇编(Assembly) 1.5 链接(Linkin ...

  9. C++ 控制台程序,窗口程序,静态库,动态库的区别

    创建C++程序 控制台程序  创建完成发现编译器给我们生成了一个.cpp文件,并且存在main函数(说明可以运行) 按F5编译链接并运行 出现DOS窗口(但我们说写与窗口相关的代码,说明是操作系统提供 ...

最新文章

  1. postman设置测试环境
  2. 《TCP/IP详解》学习笔记(二):数据链路层
  3. 李航:未来若干年,AI 技术发展可能会进入平缓期
  4. FCPX插件:Color Titles动画彩色文本标题
  5. 高德软件有限公司python试题 及 答案
  6. Python之进程+线程+协程(multiprocessing多进程模块)
  7. Ubuntu 实现点击菜单栏图标最小化程序
  8. 微信小程序云开发教程-微信小程序的JS基础-js文件基本结构与生命周期
  9. Java 概述、Java语言的特点、什么是跨平台性、Java语言平台版本、什么是jdk,jre、JDK和JRE的下载安装...
  10. #开源的ZYNQ+AD936X SDR软件无线电
  11. excel学习-批量填充单元格
  12. 如何把多个文件夹里的文件提取出来?
  13. 进击的拼多多,淘宝如何应对
  14. 屏蔽百度搜索右边的热点和广告推广
  15. 服务器3D场景建模(三):体素场景(一)
  16. Leetcode SQL 刷题学习:175. 组合两个表
  17. 快解析内网穿透,速度快 不限速 不限流
  18. 蓝屏代码大全(留着自己看)
  19. NetFPGA-SUME开发环境安装
  20. 数独解、多解(数据结构、栈、回溯法)

热门文章

  1. c语言扫雷游戏计时功能_C语言实现扫雷游戏(可以自动展开)
  2. 视觉问答学习(一)——视觉问答的动态记忆网络DMN+(tensorflow实现)
  3. Sqlserver 英文月份格式时间字符串转换为数字型日期
  4. 终于等到了!十位Java架构师整理的“阿里P7”养成计划
  5. 总结自己大学学习Java过程感悟
  6. Cannot connect:由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。192.168.0.113:22
  7. ev3和python哪个好_乐高教育EV3比SPIKE Prime更好的十个理由!
  8. PHP对接支付宝支付APP端
  9. seaborn直方图、散点图与回归分析图的绘制
  10. 申请加拿大计算机研究生如何写未来计划,加拿大学习计划书模板 (study plan)