1.打开vs创建一个空白项目,新建一个同名的头文件和源文件,从微软官网复制以下宏到头文件中。
#define MATHLIBRARY_API __declspec(dllexport)
1.1头文件为:
#define MATHLIBRARY_API __declspec(dllexport)
//在class中也要加入MATHLIBRARY_API
class MATHLIBRARY_API Test
{
public:
void Print();
};
1.2源文件为:
#include"Inference.h"
#include<iostream>
using namespace std;
void Test::Print()
{
cout << "Hello World!\n";
}
2.右击解决方案,进入“属性”界面,选择“配置类型”为“动态库.dll”或“静态库.lib”:
3.点击“生成”——“生成Project1”;
4.生成成功后在项目路径下产生.lib或.dll文件,取决于生成库的类型;
5.创建调用项目,在调用项目中创建include和lab文件夹对文件进行管理,通常将生成的头文件放在include文件夹中,将库文件放在lab文件夹中
6.将生成的库文件复制到需要调用的项目中,配置库文件的引用设置(库文件中使用到的包也需要配置,如opencv),即可使用;
6.1将include文件夹路径添加到“C/C++”—“附加包含目录”中;
6.2将lab文件夹添加到“链接器”—“常规”—“附加库目录”中;
6.3在“链接器”—“输入”—“附加依赖项”中添加库名(带文件后缀);
7.新项目中运行成功!
参考: