动态链接库的导入导出
导出:
第一种方式:
extern “C” {
__declspec(dllexport) string GetHeadFileVer(void);
__declspec(dllexport) string CheckLicence(void);
__declspec(dllexport) string LockStationName(void){return “PLR”;}
}
第二种方式:
define IMGDARKNETSHARED_EXPORT Q_DECL_EXPORT
extern “C”
{
IMGDARKNETSHARED_EXPORT int Visual_DarknetScrew_GPU_Test(vectorcv::Mat inMat,);
}
导入:
typedef int (*Visual_DarknetScrew_GPU_Test)(vectorcv::Mat inMat);
m_Visual_DarknetScrew_CPU_Test = nullptr;
QLibrary hDll(“ImgDarknet.dll”);
if(hDll.load())
{
WriteLogFile(“load ImgDarknet.dll success.”);
m_Visual_DarknetScrew_CPU_Test = (Visual_DarknetScrew_CPU_Test)hDll.resolve(“Visual_DarknetScrew_CPU_Test”);
if (!m_Visual_DarknetScrew_CPU_Test)
{
WriteLogFile(“load ImgDarknet.dll Func Fail.”);
}
else
{
WriteLogFile(“load ImgDarknet.dll Func SUCCESS.”);
}
}
else
{
WriteLogFile(“load ImgDarkne.dll fail…”);
}