MFC中dll静态加载提示 error LNK2001: unresolved external symbol

求助:MFC中dll静态加载提示 error LNK2001: unresolved external symbol
我在DLL里面 写了
//R.h
#define R_API  __stdcall
extern "C" int R_API R_Open(void);
并写了def文件来声明为导出函数

R_Open                    @1


然后在MFC程序头文件里做如下声明:(R.lib和R.dll已拷贝到当前程序)
#include "R.h"
#pragma comment (lib, "R.lib")

#define R_API_Import  __declspec(dllimport)

extern "C"  RPU_API_Import RPU_Open(void);

并在MFC程序中直接调用R_Open


结果编译的时候出现:
Linking...
R_TestDlg.obj : error LNK2001: unresolved external symbol __imp__R_Open



在网上找了好一会  也没解决  只有来这里求大家给帮忙看看了,谢谢啦。
------解决方案--------------------
并写了def文件来声明为导出函数

R_Open @1

该函数导出为__imp__R_Open@1,把def去掉,.h中直接声明导出即可。另外,你的函数居然没有返回!
------解决方案--------------------
你看下向导生成的导出的例子吧

dll 里面有宏定义是导出,没有宏定义是导入

没必要一个接口还整2遍定义,累啊

头文件是干啥的,就是干这个的啊