纠缠了小弟我1天的链接异常:LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _mai
纠缠了我1天的链接错误:LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _mai
--------------------Configuration: wu_manber - Win32 Debug--------------------
Compiling...
WM.CPP
Linking...
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/wu_manber.exe : fatal error LNK1120: 1 unresolved externals
执行 link.exe 时出错.
wu_manber.exe - 1 error(s), 0 warning(s)
extern int nline=1;
extern int nfound=0;
WM_STRUCT * wmNew()
{
WM_STRUCT *p=(WM_STRUCT *)malloc(sizeof(WM_STRUCT));
if(!p) return 0;
p->msNumPatterns=0;
p->msSmallest=1000;
return p;
}
void wmFree(WM_STRUCT *ps)
{
if(ps->msPatArray)
{
if(ps->msPatArray->psPat) free(ps->msPatArray->psPat);
free(ps->msPatArray );
}
if(ps->msNumArray) free(ps->msNumArray);
if(ps->msHash) free(ps->msHash);
if(ps->msPrefix) free(ps->msPrefix);
if(ps->msShift) free(ps->msShift);
free(ps);
}
int wmAddPattern(WM_STRUCT *ps,unsigned char *P,int m)
{
WM_PATTERN_STRUCT *p;
p=(WM_PATTERN_STRUCT *)malloc(sizeof(WM_PATTERN_STRUCT));
if(!p) return -1;
p->psPat=(unsigned char*)malloc(m+1);
memset(p->psPat+m,0,1);
memcpy(p->psPat,P,m);
p->psLen=m;
ps->msNumPatterns++;
if(p->psLen<(unsigned)ps->msSmallest) ps->msSmallest=p->psLen;
p->next=ps->plist;
ps->plist=p;
return 0;
}
static unsigned HASH16(unsigned char *T)
{
return (unsigned short) (((*T)<<8) | *(T+1));
}
------解决方案--------------------
你没有实现main函数。
------解决方案--------------------
建立的vc工程是 wind32 console application
所以要实现main函数,此为主函数
--------------------Configuration: wu_manber - Win32 Debug--------------------
Compiling...
WM.CPP
Linking...
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/wu_manber.exe : fatal error LNK1120: 1 unresolved externals
执行 link.exe 时出错.
wu_manber.exe - 1 error(s), 0 warning(s)
extern int nline=1;
extern int nfound=0;
WM_STRUCT * wmNew()
{
WM_STRUCT *p=(WM_STRUCT *)malloc(sizeof(WM_STRUCT));
if(!p) return 0;
p->msNumPatterns=0;
p->msSmallest=1000;
return p;
}
void wmFree(WM_STRUCT *ps)
{
if(ps->msPatArray)
{
if(ps->msPatArray->psPat) free(ps->msPatArray->psPat);
free(ps->msPatArray );
}
if(ps->msNumArray) free(ps->msNumArray);
if(ps->msHash) free(ps->msHash);
if(ps->msPrefix) free(ps->msPrefix);
if(ps->msShift) free(ps->msShift);
free(ps);
}
int wmAddPattern(WM_STRUCT *ps,unsigned char *P,int m)
{
WM_PATTERN_STRUCT *p;
p=(WM_PATTERN_STRUCT *)malloc(sizeof(WM_PATTERN_STRUCT));
if(!p) return -1;
p->psPat=(unsigned char*)malloc(m+1);
memset(p->psPat+m,0,1);
memcpy(p->psPat,P,m);
p->psLen=m;
ps->msNumPatterns++;
if(p->psLen<(unsigned)ps->msSmallest) ps->msSmallest=p->psLen;
p->next=ps->plist;
ps->plist=p;
return 0;
}
static unsigned HASH16(unsigned char *T)
{
return (unsigned short) (((*T)<<8) | *(T+1));
}
------解决方案--------------------
你没有实现main函数。
------解决方案--------------------
建立的vc工程是 wind32 console application
所以要实现main函数,此为主函数
- C/C++ code
int main(void) { ....调用其他函数 return 0; }
------解决方案--------------------
你的工程建错了,你创建的是Win32 console application
------解决方案--------------------
console application 就像过去只有文件界面的程序,不是图形界面。
------解决方案--------------------
如果是vc6的话:
设置(快捷键Alt+F7)->link标签
最下面有个编辑框
找到/subsystem:
看看后面是不是console
是的话改成windows(即/subsystem:windows)
good luck!