问题说明:TranBaowenInfo.dll 是自己编写的动态链接库,库中导出函数名为GetTranslateInfo(),调试时一直提示加载库成功(ok dll),但是加载库中导出函数一直失败(shibai func)。
typedef bool (*getTranslateInfo)(Tran_ptCIR_Frame, QString, COLORREF,
QQueue<DetailTranslateInfo>);
QLibrary mylib("TranBaowenInfo.dll");
if(!mylib.load()){// 加载 dll 失败
debug("shibai dll");
return -1;
}
else{
debug("ok dll");
}
getTranslateInfo GetTranslateInfo = (getTranslateInfo)mylib.resolve("GetTranslateInfo");
if (GetTranslateInfo)
debug("ok func");
else
debug("shibai func");
解决办法:
将自己编写的DLL文件,在dllexp.exe软件中打开;查看一下导出函数名,如图所示,将库中函数名改为软件中的名字,就能解决了,(PS:为什么会这样我现在也不清楚,dllexp.exe软件链接可自行百度,或者看我的下载里面)