VC6.0 建立 MFC DLL
阿新 • • 發佈:2018-10-31
一:建立MFC shared DLL
1.使用def檔案:
新增新的類CExportDll,,將新類中匯出函式 放在 def檔案中。例子如下:
// ExportDll.h: interface for the CExportDll class. // ////////////////////////////////////////////////////////////////////// #if !defined(AFX_EXPORTDLL_H__ED0A2587_E787_40A2_A847_AC66E6E634B0__INCLUDED_) #define AFX_EXPORTDLL_H__ED0A2587_E787_40A2_A847_AC66E6E634B0__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 class CExportDll { public: CExportDll(); virtual ~CExportDll(); // int AddF(int a, int b); 在類內匯出的函式不可被呼叫,只能是一個全域性函式 // int Subtract(int a, int b); }; int AddF(int a, int b); int Subtract(int a, int b); #endif // !defined(AFX_EXPORTDLL_H__ED0A2587_E787_40A2_A847_AC66E6E634B0__INCLUDED_)
**【注意】**如果只使用def匯出時,匯出函式必須為全域性的,不能放在新新增的類中,DLL會編譯通過,而且檢視depends是有AddF匯出函式,但就是在呼叫函式時會報錯。
【問題】warning LNK4022: cannot find unique match for symbol “Add”
符號沒有找到唯一的匹配,也就是說有兩個相同的符號,重新命名下 ,AddF就可以啦。