一:创建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就可以啦。