当前位置:网站首页>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版本库所在的目录。
边栏推荐
猜你喜欢
随机推荐
new / malloc / delete / free之间的区别
在大程序中怎么样显示LED点阵
动漫:海贼王女
ZEMAX | 绘图分辨率结果对光线追迹的影响
MySQL 排序
自监督论文阅读笔记 Ship Detection in Sentinel 2 Multi-Spectral Images with Self-Supervised Learning
ZEMAX | 在 OpticStudio 中使用自由曲面进行设计
C# Base64加密
解决Gradle Download缓慢的百种方法
【第三周】ResNet+ResNeXt
采用Trench肖特基二极管,实现功率密度的显著提升
opencv透视变化
自监督论文阅读笔记DisCo: Remedy Self-supervised Learning on Lightweight Models with Distilled Contrastive
ZEMAX | 如何创建复杂的非序列物体
自监督论文阅读笔记 Incremental-DETR:Incremental Few-Shot Object Detection via Self-Supervised Learning
spark sql 报错 Can‘t zip RDDs with unequal numbers of partitions
自监督论文阅读笔记 TASK-RELATED SELF-SUPERVISED LEARNING FOR REMOTE SENSING IMAGE CHANGE DETECTION
KASLR-内核地址空间布局随机化
pandoc -crossref插件实现markdwon文档转word后公式编号自定义
中国食品微生物检测行业深度监测及投资战略规划建议报告2022~2028年