目录

创建静态链接库项目

创建项目

创建函数

设置项目生成文件

生成lib

创建使用静态链接库项目

新建项目

设置库目录

链接静态库

声明需要使用的函数

使用extern

使用 头文件方式(推荐使用)

运行结果

源码:


自定义静态链接库的使用,示例选择空项目或默认的静态链接库项目

工具 vs2019

平台: Windows

创建静态链接库项目

创建项目

选择空项目,也可选择创建静态链接库项目(会生成一些暂不需要的文件)。

项目名称

创建函数

创建一个.cpp 文件;

设置项目生成文件

解决方案右键属性 设置 生成目标文件类型

生成lib

项目右键生成或者重新生成。

创建使用静态链接库项目

新建项目

新增使用lib的.cpp 文件

设置库目录

找到静态链接库生成的debug目录

设置目录

链接静态库

有两种方法:

  1. #pragma comment()

通过 #pragma comment() 将外部静态库加入工程中。例如: #pragma comment(lib,"MyLibTest.lib")

2.  通过附加依赖项

声明需要使用的函数

使用extern

extern(外部的)声明函数为外部链接。例如:extern double getRectangleArea(double width, double height);

使用 头文件方式(推荐使用)

  1. 在头文件中声明函数

在静态库中 新增头文件,函数声明。然后重新生成

2. 添加包含目录

  • 在静态库使用目录中,添加包含目录。

找到静态库头文件头文件(也可自定义文件目录,仅拷贝头文件即可)

  • 添加包含目录

设置静态库使用项目的包含目录

  • 引入头文件

使用文件中引入头文件

运行结果

打印运行结果

源码:

rectangleArea.h

#pragma oncedouble getRectangleArea(double width, double height);

rectangleArea.cpp

#include "rectangleArea.h"//计算长方形面积
double getRectangleArea(double width, double height) {return width * height;
}

usingLibTestMain.cpp

#include <iostream>
#include <rectangleArea.h>
//#pragma comment(lib,"MyLibTest.lib")using namespace std;
//extern double getRectangleArea(double width, double height);
int main() {double area = getRectangleArea(2, 3);cout<<"矩形面积:" << area << endl;return 0;
}

C++自定义静态链接库相关推荐

  1. C++动态链接库dll及静态链接库lib制作及使用教程

    现需将C++函数封装成动态链接库dll,网上看了好多博客教程,说的都不够全面,现提供一个很有用的视频,亲测有效,启发很大,附上链接: 视频网址 下面自己根据视频记录下制作动态链接库dll过程,防止忘记 ...

  2. Linux下的静态链接库和动态链接库编程

    Linux下的静态链接库和动态链接库编程 参考: Linux下的静态链接库和动态链接库编程 - Histring - 博客园 Mac下静态库和动态库的创建和使用_C/C++_vincent2610的专 ...

  3. cnsl是什么意思_VS2010下创建静态链接库和动态链接库

    VS2010下创建静态链接库和动态链接库 类封装成dll如果你的工作长期与某个领域相关,比如说长期做直接体绘制 (DVR)方面的开发,那么你可能经常使用自己的传递函数类,如果每一个工程你都把传递函数类 ...

  4. 动态链接库和静态链接库的区别

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

  5. VC的静态链接库 动态链接库

    1.什么是静态连接库,什么是动态链接库         静态链接库与动态链接库都是共享代码的方式,如果采用静态链接库,则无论你愿不愿意,lib 中的指令都全部被直接包含在最终生成的 EXE 文件中了. ...

  6. c语言之动静态链接库

    静态链接库.a 出于版权保护行为,将源文件编译但不链接生成.o文件,再用ar工具将多个.o文件归档成.a文件,该.a文件就被称为静态链接库.再发布.a和.h文件,h文件显示有.o中函数声明.用户即可知 ...

  7. GCC 编译 C(C++)静态链接库(gcc -L、gcc -l)和动态链接库(gcc -fPIC -shared)的创建和使用

    1. 库文件 所谓库文件,读者可以将其等价为压缩包文件,该文件内部通常包含不止一个目标文件(也就是二进制文件). 值得一提的是,库文件中每个目标文件存储的代码,并非完整的程序,而是一个个实用的功能模块 ...

  8. C语言函数库:动态链接库与静态链接库

    首先,函数库就是一些事先写好的函数的集合,是别人分享的,我们可以拿来使用的.经过一些校准和整理,就形成一份标准化的函数库.例如glibc 函数库有两种提供形式:动态链接库与静态链接库 早起函数库里的函 ...

  9. Linux下的静态链接库和动态链接库

    Linux下的静态链接库和动态链接库 零.链接库概述 Linux下得库有动态与静态两种,动态通常用.so为后缀,静态用.a为后缀.面对比一下两者: 静态链接库:当要使用时,连接器会找出程序所需的函数, ...

最新文章

  1. 每天工作4小时的程序员---source link http://news.cnblogs.com/n/145071/
  2. 达达真人漫画秀,微博演绎男版杜拉拉生存记
  3. 【BZOJ】1031: [JSOI2007]字符加密Cipher(后缀数组)
  4. php mariadb mysql.sock_(LNMP) Nginx_PHP_MariaDB
  5. linux怎么用两个进程传值,关于linux:将变量脚本参数传递给另一个脚本,然后将qsub传递给程序...
  6. tf.while_loop
  7. JVM—类加载过程学习
  8. 【面向对象设计的5个原则】
  9. 云服务器显示502错误,云服务器出现502错误怎么办
  10. 洛谷P2057 善意的投票
  11. 极致体验,解密微信背后的音视频通话技术
  12. 安卓Socket与pc端c#服务器的通信 附完整代码
  13. 汇编语言的基础知识一
  14. STL容器的并集(set_union)、交集(set_intersection)和差集(set_difference)函数的使用
  15. 连接正常(或者能上QQ)但是上不了网
  16. 谈谈对于百度春晚战事的看法
  17. 于飞seo:seo高级优化技巧 提升网站排名攻略
  18. Apollo入门课程04-感知
  19. 智能合约编写之Solidity的设计模式 | FISCO BCOS超话区块链专场(篇4)
  20. STM32 Cube IDE HAL库驱动 W25Q128 进行读、写、擦除操作

热门文章

  1. Windows XP启动慢该怎么办(转)
  2. 计算机检索逻辑关系,计算机检索技术 ppt课件.ppt
  3. 园区内访客快速自助换证应怎样实现?
  4. Vijava 学习笔记之模板
  5. 温州大学和YESLAB 达成人工智能(AI)课程合作协议
  6. 英特尔三大领先解决方案加速视觉零售发展进程
  7. 简约论坛源码php,6kbbs - PHP简洁高效的论坛程序
  8. 文明4 玩家原创全面攻略
  9. Pod控制器详解-Deployment(Deploy)
  10. 设计模式之设计模式原则