VS C++ 報錯 warning C4273dll鏈接不一致

報錯位置: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

刪掉其中一個就好了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章