VC++编译错误提示-- error LNK2001: 无法解析的外部符号,望高手解决一下!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VC++编译错误提示-- error LNK2001: 无法解析的外部符号,望高手解决一下!相关的知识,希望对你有一定的参考价值。

#include <iostream>
#include <stdio.h>
#include <tchar.h>
#include <math.h>
using namespace std;
void FIR_Sub(int n,int band,double fln,double fhn,int wn,double h[]);
void gain(double b[],double a[],int m,int n,double x[],double y[],int len,int sign);
static double FIR_window(int type,int n,int i,double beta);
static double FIR_kaiser(int i,int n,double beta);
static double FIR_bessel(double x);

int _tmain(int argc, _TCHAR* argv[])

char fname[40];
int i,j;
int n,n2,wn;
double band,c[300],fl,fh,fs,h[100],x[300],y[300],freq;
FILE *fp;
errno_t err;
c[1]=0.0;
cout<<"select one of the four types for FIR digital filter\n"<<endl;
cout<<"1--Lowpass; 2--highpass\n"<<endl;
cout<<"1--bandpass; 2--bandstop\n"<<endl;
cin>>band;
cout<<"input the filter order n\n"<<endl;
cin>>n;
cout<<"input the filter order fl\n"<<endl;
cin>>fl;
fh=0.0;
if(band>=3)

cout<<"input high cutoff frequency: fh\n"<<endl;
cin>>fh;

cout<<"input sample frequency: fs\n"<<endl;
cin>>fs;
cout<<"select window\n"<<endl;
cout<<"1--rectangular; 2--tapered rectangular \n"<<endl;
cout<<"3--triangular; 4--Hanning \n"<<endl;
cout<<"5--Hamming; 6--Blackman \n"<<endl;
cout<<"7--Kaiser \n"<<endl;
cin>>wn;
fl=fl/fs; //fln:双精度实型变量;fhn:双精度实型变量; 对於低通和高通滤波器,fln表示-通带边界频率;
fh=fh/fs; // 对於带通和带阻滤波器,fln表示-通带下边界频率,fhn表示-通带上边界频率;
FIR_Sub(n,band,fl,fh,wn,h);
cout<<"FIR digital filter \n"<<endl;
cout<<"****impluse response**** \n\n"<<endl;
n2=n/2;
for(i=0;i<=n2;i++)

j=n-i;
cout<<"h(%2d)=%12.8lf=h(%2d)\n"<<i<<h[i]<<j<<endl;

cout<<"\n input file name of frequency response\n"<<endl;
cin>>fname;
if((err=fopen_s(&fp,fname,"w"))!=0) //=0(open sucess) not 0(open fail)

cout<<"cannot open this file\n"<<endl;
return 1;

for(i=0;i<300;i++)

freq=0.5*i/299;
cout<<fp<<"%lf %lf \n"<<freq<<x[i]<<endl;

fclose(fp);
return 0;

1>main.obj : error LNK2001: 无法解析的外部符号 "public: static class std::_Generic_error_category std::_Error_objects<int>::_Generic_object" (?_Generic_object@?$_Error_objects@H@std@@2V_Generic_error_category@2@A)
1>main.obj : error LNK2001: 无法解析的外部符号 "public: static class std::_System_error_category std::_Error_objects<int>::_System_object" (?_System_object@?$_Error_objects@H@std@@2V_System_error_category@2@A)
1>main.obj : error LNK2011: 未链接预编译对象;映像可能不能运行

<beta<10)\n"<</beta<10)\n"<<!--<!--<!--<!--<!--<!--<!--<beta<10)\n"<</beta<10)\n"<<!--<!--<!--<!--<!--<!--<!--

unsigned long fibonacci (int n);
unsigned long fionaccib (int n)
//声明和定义的函数名不一样··
参考技术A 多数情况下的无法解析都是由于
你调用的相关函数,其具体实现不在你的工程文件中,
想办法弄过来就好
参考技术B 把你写的几个函数添加到你的工程路径下 参考技术C 把 static 去掉

以上是关于VC++编译错误提示-- error LNK2001: 无法解析的外部符号,望高手解决一下!的主要内容,如果未能解决你的问题,请参考以下文章

VC2010编译提示 LINK : fatal error LNK1104: 无法打开文件“libboost_system-vc100-mt-gd-1_51.lib”

VC6 编译错误error LNK2001: unresolved external symbol "public: virtual struct

错误 1 error LNK2001: 无法解析的外部符号 _mainCRTStartup 错误 2 error LNK1120: 1 个无法解析的外部命

VC连接mysql数据库错误:libmysql.lib : fatal error LNK1113: invalid machine 解决方法

VC++ 6.0中遇到 error LNK2001错误怎么办?

VC++的LNK1102 error out of memory 问题