一、生成 dll / lib
新建新的空项目
1、新建头文件macros.h
#pragma once
#pragma once
#ifndef __MACROS_H
#define __MACROS_H
#ifdef API_EXPORTS
#if defined(_MSC_VER)
#define API __declspec(dllexpoet)
#else
#define API __attribute__((visibility("default")))
#endif
#else
#if defined(_MSC_VER)
#define API __declspec(dllimport)
#else
#define API
#endif
#endif // API_EXPORTS
#if NV_TENSORRT_MAJOR >= 8
#define TRT_NOEXCEPT noexcept
#define TRT_CONST_ENQUEUE const
#else
#define TRT_NOEXCEPT
#define TRT_CONST_ENQUEUE
#endif
#endif // __MACROS_H
2、新建头文件abc.h(名称与源文件一致)
#pragma once
#include "macros.h"
//#include需要的头文件
using namespace std;
extern "C" API + 函数头;
3、新建源文件abc.cpp
#include "abc.h"
添加需要的函数,包括函数头与函数体
4、设置项目属性
配置属性 --- 常规 --- 配置类型 --- > 动态库(.dll)
5、生成 dll
在Release x64下生成解决方案,生成的dll和lib在sln同级文件夹的x64 --- >Release下
二、调用 dll / lib
1、新建源文件abc_test.cpp
#include "abc.h"
#pragma comment (lib, "abc.lib的路径")
extern "C" _declspec(dllimport) + 需要导入的函数头
int main()
{
直接调用函数
}
2、设置项目属性
配置类型为“应用程序(.exe)”