施用 CCriticalSection 类同步线程

使用 CCriticalSection 类同步线程
#include <windows.h> //包含头文件
#include <stdio.h>
//#include <afxmt.h>
DWORD WINAPI myfun1( //声明线程函数
  LPVOID lpParameter
);
DWORD WINAPI myfun2(
  LPVOID lpParameter
);
CCriticalSection m_Sec; //定义全局变量m_Sec
int a=0; //定义全局变量a
int main()
{
HANDLE h1,h2; //定义线程句柄
h1=::CreateThread(NULL,0,myfun1,NULL,0,NULL); //创建线程1
printf("使用CMutex 类实现线程同步\r\n");
printf("线程1开始运行!\r\n");
h2=::CreateThread(NULL,0,myfun2,NULL,0,NULL); //创建线程2
printf("线程2开始运行!\r\n");
::Sleep(10000); //程序睡眠10秒
::CloseHandle(h1);
::CloseHandle(h2);
return 0;
}

DWORD WINAPI myfun1(LPVOID lpParameter) //线程函数1
{
m_Sec.Lock(); //锁定临界区
a+=1; //变量加1
printf("Thread 1:%d",a); //输出变量
m_Sec.Unlock(); //对临界区进行解锁
return 0;
}
DWORD WINAPI myfun2(LPVOID lpParameter) //线程函数2
{
m_Sec.Lock(); //锁定临界区
a+=1; //变量加1
printf("Thread 2:%d",a); //输出变量
m_Sec.Unlock(); //对临界区进行解锁
return 0;
}


代码如上,,,在编译的时候老是提示以下的错误信息施用 CCriticalSection 类同步线程
查了一下msdn,然后加了一个头文件#include <afxmt.h>,在去掉#include<windows.h>这个头文件之后编译就没问题了,,,,但是连接却连接不了,,提示如下错误,施用 CCriticalSection 类同步线程
找了半天也不知道错在哪里,,求各位高手帮忙解答一下,,,
多线程 CCriticalSection类

------解决方案--------------------
链接选项中选“多线程DLL”