error LNK2001 异常

error LNK2001 错误
已经被搞的头大了~~~~
先负上代码~~~

#include   <iostream>
#include   <string>
#include   <list>
using   namespace   std;

list <int>   getIntTagContents   (string   src,   string   startTag,   string   endTag)
{
        list <int>   contentList;
        string::size_type   posStartTag,   posEndTag;
        string::size_type   posCurrent   =   0;

        for(;;)
        {
                posStartTag   =   src.find(startTag,   posCurrent);
                posEndTag   =   src.find(endTag,   posCurrent);

                if(   posStartTag   ==   string::npos   ||   posEndTag   ==   string::npos   )
                {
                        break;
                }
                else
                {
                        int   content   =   atoi(src.substr(posStartTag+startTag.length(),   posEndTag-posStartTag-startTag.length()).c_str());
                        contentList.push_back(content);
                        posCurrent   =   posEndTag   +   endTag.length();
                }
        }
return   contentList;
}

bool   IsForbidChannel(int   nChannel)
{      
        list <int> ::iterator   itrList;


        itrList   =   find   (m_ForbidChannelList.begin(),   m_ForbidChannelList.end(),   nChannel);

        if   (itrList   ==   m_ForbidChannelList.end())  
        {
                return   false;
        }
        else  
{
                return   true;
        }
}

void   main()
{
        static   list <int>   m_ForbidChannelList;
string   sForbidChannel   =   " <ForbidChannel> 109 </ForbidChannel> <ForbidChannel> 111 </ForbidChannel> ";
        cout < < "Get   forbid   channel   " < <sForbidChannel < <endl;
m_ForbidChannelList   =     getIntTagContents(sForbidChannel,   " <ForbidChannel> ",   " </ForbidChannel> ");
        for(i=0;i <=100;i++)
{
if   (IsForbidChannel   (i))
{
cout < < "Skip   forbid   channel   " < <i < <endl;
                        continue;