C++自定义静态链接库
目录
创建静态链接库项目
创建项目
创建函数
设置项目生成文件
生成lib
创建使用静态链接库项目
新建项目
设置库目录
链接静态库
声明需要使用的函数
使用extern
使用 头文件方式(推荐使用)
运行结果
源码:
自定义静态链接库的使用,示例选择空项目或默认的静态链接库项目
工具 vs2019
平台: Windows
创建静态链接库项目
创建项目
选择空项目,也可选择创建静态链接库项目(会生成一些暂不需要的文件)。
项目名称
创建函数
创建一个.cpp 文件;
设置项目生成文件
解决方案右键属性 设置 生成目标文件类型
生成lib
项目右键生成或者重新生成。
创建使用静态链接库项目
新建项目
新增使用lib的.cpp 文件
设置库目录
找到静态链接库生成的debug目录
设置目录
链接静态库
有两种方法:
- #pragma comment()
通过 #pragma comment() 将外部静态库加入工程中。例如: #pragma comment(lib,"MyLibTest.lib")
2. 通过附加依赖项
声明需要使用的函数
使用extern
extern(外部的)声明函数为外部链接。例如:extern double getRectangleArea(double width, double height);
使用 头文件方式(推荐使用)
- 在头文件中声明函数
在静态库中 新增头文件,函数声明。然后重新生成
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++自定义静态链接库相关推荐
- C++动态链接库dll及静态链接库lib制作及使用教程
现需将C++函数封装成动态链接库dll,网上看了好多博客教程,说的都不够全面,现提供一个很有用的视频,亲测有效,启发很大,附上链接: 视频网址 下面自己根据视频记录下制作动态链接库dll过程,防止忘记 ...
- Linux下的静态链接库和动态链接库编程
Linux下的静态链接库和动态链接库编程 参考: Linux下的静态链接库和动态链接库编程 - Histring - 博客园 Mac下静态库和动态库的创建和使用_C/C++_vincent2610的专 ...
- cnsl是什么意思_VS2010下创建静态链接库和动态链接库
VS2010下创建静态链接库和动态链接库 类封装成dll如果你的工作长期与某个领域相关,比如说长期做直接体绘制 (DVR)方面的开发,那么你可能经常使用自己的传递函数类,如果每一个工程你都把传递函数类 ...
- 动态链接库和静态链接库的区别
两种库: 一种是LIB包含了函数所在的DLL文件和文件中函数位置的信息(入口),代码由运行时加载在进程空间中的DLL提供,称为动态链接库dynamic link library. 一种是LIB包含函数 ...
- VC的静态链接库 动态链接库
1.什么是静态连接库,什么是动态链接库 静态链接库与动态链接库都是共享代码的方式,如果采用静态链接库,则无论你愿不愿意,lib 中的指令都全部被直接包含在最终生成的 EXE 文件中了. ...
- c语言之动静态链接库
静态链接库.a 出于版权保护行为,将源文件编译但不链接生成.o文件,再用ar工具将多个.o文件归档成.a文件,该.a文件就被称为静态链接库.再发布.a和.h文件,h文件显示有.o中函数声明.用户即可知 ...
- GCC 编译 C(C++)静态链接库(gcc -L、gcc -l)和动态链接库(gcc -fPIC -shared)的创建和使用
1. 库文件 所谓库文件,读者可以将其等价为压缩包文件,该文件内部通常包含不止一个目标文件(也就是二进制文件). 值得一提的是,库文件中每个目标文件存储的代码,并非完整的程序,而是一个个实用的功能模块 ...
- C语言函数库:动态链接库与静态链接库
首先,函数库就是一些事先写好的函数的集合,是别人分享的,我们可以拿来使用的.经过一些校准和整理,就形成一份标准化的函数库.例如glibc 函数库有两种提供形式:动态链接库与静态链接库 早起函数库里的函 ...
- Linux下的静态链接库和动态链接库
Linux下的静态链接库和动态链接库 零.链接库概述 Linux下得库有动态与静态两种,动态通常用.so为后缀,静态用.a为后缀.面对比一下两者: 静态链接库:当要使用时,连接器会找出程序所需的函数, ...
最新文章
- 每天工作4小时的程序员---source link http://news.cnblogs.com/n/145071/
- 达达真人漫画秀,微博演绎男版杜拉拉生存记
- 【BZOJ】1031: [JSOI2007]字符加密Cipher(后缀数组)
- php mariadb mysql.sock_(LNMP) Nginx_PHP_MariaDB
- linux怎么用两个进程传值,关于linux:将变量脚本参数传递给另一个脚本,然后将qsub传递给程序...
- tf.while_loop
- JVM—类加载过程学习
- 【面向对象设计的5个原则】
- 云服务器显示502错误,云服务器出现502错误怎么办
- 洛谷P2057 善意的投票
- 极致体验,解密微信背后的音视频通话技术
- 安卓Socket与pc端c#服务器的通信 附完整代码
- 汇编语言的基础知识一
- STL容器的并集(set_union)、交集(set_intersection)和差集(set_difference)函数的使用
- 连接正常(或者能上QQ)但是上不了网
- 谈谈对于百度春晚战事的看法
- 于飞seo:seo高级优化技巧 提升网站排名攻略
- Apollo入门课程04-感知
- 智能合约编写之Solidity的设计模式 | FISCO BCOS超话区块链专场(篇4)
- STM32 Cube IDE HAL库驱动 W25Q128 进行读、写、擦除操作