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):
4.右键生成,会生成静态库
1.拷贝头文件Test.h到项目的源文件目录下
2.回到项目中,头文件->单击右键->添加现有项Test.h
3.链接器->常规->附加库目录,链接到MyLib.lib所在的目录:
4.链接器->输入->附加依依赖项,添加生成的库名MyLib.lib
5.编写TestMyLib.cpp文件:
- #include
- #include "Test.h"
-
- int main()
- {
- Test t;
- t.say();
- }
6.点击运行
产生这个问题的原因是当前工程是Debug版本,而引用的库文件时Release版本。
解决方法一:只需要把当前的Debug模式改成Release模式就可以了。
解决方法二:重新生成一个debug版本的库文件。然后修改链接器--常规--附加库目录。重新包含debug版本库所在的目录。