LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main

伟大的杨先生 2014-05-08 09:21:13
我用的是VC++6.0,每次编译的时候可以通过,但是链接的时候就出问题,求大神指点是什么问题啊?

代码如下:

#include "stdio.h"
#include "math.h"
#define pi 3.1415926
typedef struct //定义表示复数的结构体
{
float real;
float imag;
}COMPX;
COMPX EE(COMPX b1,COMPX b2) //复数相乘函数
{
COMPX b3;
b3.real=b1.real*b2.real-b1.imag*b2.imag;
b3.imag=b1.real*b2.imag+b1.imag*b2.real;
return(b3);
}
void FFT(COMPX *xin,int N) //FFT运算
{
int m,LH,nm,I,k,J,M,K;
float p,ps ;
int B,N1;
COMPX w,T;
M=11; //对应N值为2048
//下面是倒序的程序
LH=N/2;
J=LH;
N1=N-2;
/*变址运算*/
for(I=1;I<=N1;I++)
{
if(I<J)
{
T=xin[I];xin[I]=xin[J];xin[J]=T;
}
K=LH;
while(J>=K)
{
J=J-K;
K=K/2;
}
J=J+K;
}


//下面是DIT-FFT运算程序
for(m=1;m<=M;m++)
{
B=pow(2,m-1);
for(J=0;J<=B-1;J++)
{
p=pow(2,M-m)*J;
ps=2*pi/N*p;
w.real=cos(ps);
w.imag=-sin(ps);
for(k=J;k<=N-1;k=k+pow(2,m))
{
T=EE(xin[k+B],w);
xin[k+B].real=xin[k].real-T.real;
xin[k+B].imag=xin[k].imag-T.imag;
xin[k].real=xin[k].real+T.real;
xin[k].imag=xin[k].imag+T.imag;
}
}
}

}

--------------------Configuration: FFT AND IFFT (2) - Win32 Debug--------------------
Linking...
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/FFT AND IFFT (2).exe : fatal error LNK1120: 1 unresolved externals
执行 link.exe 时出错.
...全文
153 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
伟大的杨先生 2014-05-09
  • 打赏
  • 举报
回复
对哦,貌似没有main函数了,我在改改,这个是在网上找的一个程序
ForestDB 2014-05-08
  • 打赏
  • 举报
回复
你的main函数在哪里?
buyong 2014-05-08
  • 打赏
  • 举报
回复
你应该建立console项目,不是win32
VC 6.0常见安装错误 VC调试常见错误 程序设计到多线程,VC++6.0默认设置可作以下修改: project->settings->C/C++->Category中选Code Generation->Use Run-time Library选Debug MultiThreaded或MultiThreaded 在创建MFC项目时, 不使用MFC AppWizard向导, 如果没有设置好项目参数, 就会在编译时产生很多连接错误, 如error LNK2001错误, 典型的错误提示有: libcmtd.lib(crt0.obj) : error LNK2001: unresolved external symbol _main LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16 msvcrtd.lib(crtexew.obj) : error LNK2001: unresolved external symbol _WinMain@16 nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __beginthreadex nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex 下面介绍解决的方法: 1. Windows子系统设置错误, 提示: libcmtd.lib(crt0.obj) : error LNK2001: unresolved external symbol _main Windows项目要使用Windows子系统, 而不是Console, 可以这样设置: [Project] --> [Settings] --> 选择"Link"属性页, 在Project Options中将/subsystem:console改成/subsystem:windows 2. Console子系统设置错误, 提示: LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16 控制台项目要使用Console子系统, 而不是Windows, 设置: [Project] --> [Settings] --> 选择"Link"属性页, 在Project Options中将/subsystem:windows改成/subsystem:console 3. 程序入口设置错误, 提示: msvcrtd.lib(crtexew.obj) : error LNK2001: unresolved external symbol _WinMain@16 通常, MFC项目的程序入口函数是WinMain, 如果编译项目的Unicode版本, 程序入口必须改为wWinMainCRTStartup, 所以需要重新设置程序入口: [Project] --> [Settings] --> 选择"C/C++"属性页, 在Category中选择Output, 再在Entry-point symbol中填入wWinMainCRTStartup, 即可 4. 线程运行时库设置错误, 提示:

70,024

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧