報錯位置:cpp文件
DSI_BASECOMMPORT_API BOOL _stdcall TestFunction(int &nRlt)
{
nRlt=1+6;
return TRUE;
}
DSI_BASECOMMPORT_API是個宏,查看定義,寫在該cpp文件中
#define DSI_BASECOMMPORT_API extern"C" __declspec(dllexport)
但是,我發現,該cpp的頭文件中也有它的定義
#ifdef DSI_BASECOMMPORT_API
#else
#define DSI_BASECOMMPORT_API extern "C" _declspec(dllimport)
#endif
仔細對比,發現兩者不相同,難怪報錯信息是“dll鏈接不一致”,一個是dllexport,一個是dllimport
刪掉其中一個就好了