当前位置:网站首页>window下VS2022封装静态库以及调用静态库
window下VS2022封装静态库以及调用静态库
2022-08-03 05:24:00 【世宇同学】
一,新建项目MyLib(封装自己的静态库)
1.头文件Test.h:(_declspec(dllexport)要放在导出的类名前面,表示要导出封装到库)
#pragma once
class _declspec(dllexport) Test
{
public:
void say();
};
2.源文件Test.cpp:
#include "Test.h"
#include<iostream>
void Test::say() {
std::cout << "Hello!My name is linyu!" << std::endl;
}
3. 右键项目属性->配置属性->配置类型(修改为静态库.lib):
4.右键生成,会生成静态库
二,新建项目TestMyLib(调用刚才封装好的库)
1.拷贝头文件Test.h到项目的源文件目录下
2.回到项目中,头文件->单击右键->添加现有项Test.h
3.链接器->常规->附加库目录,链接到MyLib.lib所在的目录:
4.链接器->输入->附加依依赖项,添加生成的库名MyLib.lib
5.编写TestMyLib.cpp文件:
#include <iostream>
#include "Test.h"
int main()
{
Test t;
t.say();
}
6.点击运行
产生这个问题的原因是当前工程是Debug版本,而引用的库文件时Release版本。
解决方法一:只需要把当前的Debug模式改成Release模式就可以了。
解决方法二:重新生成一个debug版本的库文件。然后修改链接器--常规--附加库目录。重新包含debug版本库所在的目录。
边栏推荐
- 自监督论文阅读笔记 Ship Detection in Sentinel 2 Multi-Spectral Images with Self-Supervised Learning
- Kettle Spoon 安装配置详解
- 神经网络基础
- [XSS, file upload, file inclusion]
- spark sql 报错 Can‘t zip RDDs with unequal numbers of partitions
- Android学习 | 08.SQLiteOpenHelper
- 自监督论文阅读笔记: MoCoV2使用动量对比学习改进基线
- 电子元器件和电子元件的区别有那些?
- 关于芯片你了解吗?
- 动漫:海贼王女
猜你喜欢
随机推荐
Invalid signature file digest for Manifest main attributes解决方法
IO 复用
自监督论文阅读笔记 Self-supervised Label Augmentation via Input Transformations
ZEMAX | 如何创建复杂的非序列物体
网络间通信
SAP HANA 新增一列时报错详解
梯度下降、反向传播
电子元器件之电子变压器可分为哪几类?
进程间通讯 (IPC 技术) - 信号
Makefile自动推导的简单例程
中国食品微生物检测行业深度监测及投资战略规划建议报告2022~2028年
中国生物反应器行业发展现状及前景规划分析报告报告2022~2028年
A.1#【内存管理】——1.1.2 zone: struct zone
Mysql 预准备语句详解(prepare、execute、deallocate)
自监督论文阅读笔记Efficient Self-supervised Vision Pretraining with Local Masked Reconstruction
memblock
深度学习基本概念
Qlik Sense 临时处理表数据详解(Resident)
自监督论文阅读笔记 Incremental-DETR:Incremental Few-Shot Object Detection via Self-Supervised Learning
ZEMAX | 在 OpticStudio 中使用自由曲面进行设计