创建的动态链接库好像不能调用,求大神看下什么有关问题

创建的动态链接库好像不能调用,求大神看下什么问题
//动态链接库中的test.h文件

#include "windows.h"
extern"C" _declspec(dllexport) int sum(int a,int b);
extern"C" _declspec(dllexport) int sub(int a,int b);
extern"C" _declspec(dllexport) int mul(int a,int b);
extern"C" _declspec(dllexport) int pdiv(int a,int b);
extern"C" _declspec(dllexport) void Message();
BOOL APIENTRY DllMain( HMODULE hModule,
DWORD  ul_reason_for_call,
LPVOID lpReserved
)
{
switch(ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
case DLL_THREAD_ATTACH:
break;
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break;

}
return TRUE;
}



// test.cpp文件
//
#include "test.h"
#include "windows.h"
extern"C" _declspec(dllexport) int sum(int a,int b)
{
return a+b;
}
extern"C" _declspec(dllexport) int sub(int a,int b)
{
return a-b;
}
extern"C" _declspec(dllexport) int mul(int a,int b)
{
return a*b;
}
extern"C" _declspec(dllexport) int pdiv(int a,int b)
{
return a/b;
}
extern"C" _declspec(dllexport) void Message()
{
OLECHAR *pWChar = L"这是动态链接库的消息"; 
OLECHAR *DL = L"DLL"; 
MessageBox(NULL,pWChar,DL,MB_OK);
}



编译提示:  是不是提示这样就成功创建动态链接库了??

1>  正在创建“Debug\TestDll.unsuccessfulbuild”,因为已指定“AlwaysCreate”。
1>ClCompile:
1>  test.cpp
1>Link:
1>     正在创建库 E:\Design\C++\TestDll\Debug\TestDll.lib 和对象 E:\Design\C++\TestDll\Debug\TestDll.exp
1>Manifest:
1>  正在删除文件“Debug\TestDll.dll.embed.manifest”。
1>LinkEmbedManifest:
1>  TestDll.vcxproj -> E:\Design\C++\TestDll\Debug\TestDll.dll
1>FinalizeBuildStatus:
1>  正在删除文件“Debug\TestDll.unsuccessfulbuild”。
1>  正在对“Debug\TestDll.lastbuildstate”执行 Touch 任务。
1>
1>生成成功。
1>
1>已用时间 00:00:02.46
========== 全部重新生成: 成功 1 个,失败 0 个,跳过 0 个 ==========

//创建另一个项目下的Cpp test1.cpp

#include <iostream>
#include<windows.h>
using namespace std;
typedef int(*sum)(int a,int b);
typedef int(*mul)(int a,int b);

void main(void)
{

sum Sum1=NULL;
mul Mul1=NULL;
HMODULE hDLL;
hDLL=LoadLibrary(L"TestDll.dll");//加载动态链接库TestDll.dll文件;
if(hDLL)
cout<<"good"<<endl;
else
cout<<"取出错误"<<endl;
Sum1=(sum)GetProcAddress(hDLL,"sum");
Mul1=(mul)GetProcAddress(hDLL,"mul");
if (Sum1)//如果取出函数成功,则执行下面的语句
{
int A=Sum1(5,8);
cout<<"比较的结果为"<<A;
}
else if(Mul1)
{
int B=Mul1(5,8);
cout<<"比较的结果为"<<B;
}
else cout<<"取出错误";
FreeLibrary(hDLL);//卸载TestDll.dll文件;}
}
执行后提示:取出错误 取出错误
刚开始学C++请多指教
c++ dll ,动态链接库

------解决方案--------------------
导出的函数名字会被修饰

你用 dumpbin /exports 看看, 可能都有个 _ 开头,