window下VS2022封装静态库以及调用静态库

 一,新建项目MyLib(封装自己的静态库)

1.头文件Test.h:(_declspec(dllexport)要放在导出的类名前面,表示要导出封装到库)

#pragma once
class _declspec(dllexport) Test
{
public:
	void say();
};

2.源文件Test.cpp:

#include "Test.h"
#include

void Test::say() {
	std::cout << "Hello!My name is linyu!" << std::endl;
}

3. 右键项目属性->配置属性->配置类型(修改为静态库.lib):

 window下VS2022封装静态库以及调用静态库_第1张图片

 4.右键生成,会生成静态库

window下VS2022封装静态库以及调用静态库_第2张图片

二,新建项目TestMyLib(调用刚才封装好的库)

 1.拷贝头文件Test.h到项目的源文件目录下

window下VS2022封装静态库以及调用静态库_第3张图片

2.回到项目中,头文件->单击右键->添加现有项Test.h

window下VS2022封装静态库以及调用静态库_第4张图片

 3.链接器->常规->附加库目录,链接到MyLib.lib所在的目录:

window下VS2022封装静态库以及调用静态库_第5张图片

4.链接器->输入->附加依依赖项,添加生成的库名MyLib.lib

window下VS2022封装静态库以及调用静态库_第6张图片

5.编写TestMyLib.cpp文件:

#include 
#include "Test.h"

int main()
{
    Test t;
    t.say();
}

 6.点击运行

window下VS2022封装静态库以及调用静态库_第7张图片

产生这个问题的原因是当前工程是Debug版本,而引用的库文件时Release版本。

解决方法一:只需要把当前的Debug模式改成Release模式就可以了。

window下VS2022封装静态库以及调用静态库_第8张图片

 window下VS2022封装静态库以及调用静态库_第9张图片

 解决方法二:重新生成一个debug版本的库文件。然后修改链接器--常规--附加库目录。重新包含debug版本库所在的目录。

 

你可能感兴趣的:(gzhu-c++,java,c++)