WORD error LNK2019: 无法解析的外部符号 _main ,该符号在函数 _mainCRTStartup 中被引用

作者&投稿:爨枯 (若有异议请与网页底部的电邮联系)
求和.obj : error LNK2019: 无法解析的外部符号 "int add(int,int),该符号在函数 _wmain 中被引用~

一般都是由于缺少相应的库文件

右击项目,选择“属性”--“链接器”--“输入”--“附加依赖项”
根据错误中的提示在下图右边的红色框内添加相应的lib文件

再次编译运行即可避免此类错误产生

这是我们常见的错误,我们要学会解决

只有在不断地探索解决的时候才会有收获

这样对程序员才是一种欣喜,一种进步!

你建立的是console工程,console工程的入口是main,而不是WinMain,在链接时,就会找不到main

工程--> Setting--> Link

将/subsystem:windows 改为 /subsystem:console 即可

你用的VC6? 主要你少了几个" ; " 标准C中main不能用void,还有,main中的num=Shunzi(y,10);函数名字写错了, 我帮你改好了,可以执行:

//#include "stdafx.h"
#include <iostream>

using namespace std;

int Shun_zi(int a[],int nLen); //判定是否有顺子
int sort(int m[],int nLen); //扑克牌数排序
int print(int b[],int nLen); //输出全部扑克牌数
int canf(int n[],int nLen); //输入扑克牌数
int judge(int x[],int nLen); //判定输入的扑克牌数是否合理
int Csame(int a[],int nLen);

int main(){
int y[10];
cout<<"请输入10个数"<<endl;
canf(y, 10);
cout<<"输入的数字为"<<endl;
print(y, 10);
judge(y, 10); //判断是否为扑克牌数
sort(y, 10); //从小到大排序
cout<<"排序后的数为**************************"<<endl;
print(y, 10);
int num;
num=Shun_zi(y,10);
if(num<=4)
{
cout<<"没有顺子"<<endl;
}

return 0;
}

int Shun_zi(int a[], int nLen)
{
if(a==NULL)
{
return 0;
}
if (nLen==0)
{
return 0;
}
nLen=Csame(a, nLen); //合并相同数
int number = 0; //连续的牌的数的个数
int ch=1; //顺子的个数
for (int i=0;i<nLen-1;i++)
{
if (a[i]+1==a[i+1])
{
number++;
}
else
{
number=0;
}
if (number>=4)
{
cout<<"顺子"<<ch++<<endl;
int k=i;
for(int j=0;j<number+1;j++)
{
cout<<a[k]<<" ";
k++;
}
cout<<endl;

number=0;
}
}
return number;
}

int Csame(int a[],int nLen) //判定是否有相同的数,有就合并相同数
{
int i=0,j=0;
for(i=0;i<nLen-1;i++)
{
if(a[i]==a[i+1]) //若遇到相同的数,则此后的数全部向前移动覆盖
{
for(j=i;j<nLen-1;j++)
{
a[j]=a[j+1];
}
nLen--; //长度减一
i--; // i减一回到原来那个数继续判定
}
}
return nLen;
}

int sort(int m[],int nLen)
{
if(m == NULL)
{
return 0;
}
if (nLen==0)
{
return 0;
}
int i=0;
int j=0;
int temp=0;
for (i=0;i<nLen-1;i++)
{
for(j=i+1;j<nLen;j++)
{
if (m[i]>m[j])
{
temp=m[i];
m[i]=m[j];
m[j]=temp;
}
}
}
return 0;
}

int print(int b[],int nLen)
{
if(b == NULL)
{
return 0;
}
if (nLen==0)
{
return 0;
}
int i=0;
for(i=0;i<nLen;i++)
{
cout<<b[i];
}
cout<<endl;
return 0;
}

int canf(int n[],int nLen)
{
for(int i=0;i<nLen;i++)
{
cin>>n[i];
}
return 0;
}

int judge(int x[],int nLen)
{
if(x == NULL)
{
return 0;
}
if (nLen==0)
{
return 0;
}
int max=0;
int min=0;
int k=0;
for (k=0;k<nLen;k++)
{
if (max<x[k])
{
max=x[k];
}
if (min>x[k])
{
min=x[k];
}
if (max-min>13)
{
cout<<"不是扑克牌数"<<endl;
}
else
{
cout<<"是扑克牌数"<<endl;
}
}
return 0;
}


四会市18976006999: 如何解决error LNK2001 -
戊武补脾: 这个错误解决了. 这是OBJECTARX200\DOCSAMPS\HILIGHTS,我昨天用visual c++6.0打开hilight.cpp文件,然后编译出错. 原因:没有连接hilight.def文件,我今天直接打开dsp文件,编译运行没错,但我不明白为什么第一次编译一定要有def文件

四会市18976006999: error LNK2001错误如何解决?
戊武补脾: 出现这种情况有很多种原因.主要有二种原因:1.编码错误,不过好像你的不像;2.由于编译和链接的设置;具体要看你的代码是怎么样的.#include "AcExtensionModule.h",可能你没有把CAcModuleResourceOverride的定义文件加入到当前工程吧,仅供参考!

四会市18976006999: 循环队列出现error LNK2001: unresolved external symbol - Judgmenet错误怎么办 -
戊武补脾: #include<conio.h>#include <stdio.h> int main() { printf ("holle.\n"); getch(); } 不是没运行,是运行后关闭了

四会市18976006999: 编写的程序中这个error LNK2001错误是什么原因 -
戊武补脾: 出现这种问题,是指你这个extern的函数没有定义和实现部分,你包含实现部分的头文件和cpp进工程里面就行了,如果是在lib文件里面实现的,包含lib和头文件即可

四会市18976006999: WORD装不上,总是提示错误 1321
戊武补脾: 若要解决此问题,请在没有启用 加密内容以便保护数据的安全 设置的文件夹中安装 2007 Office 套件或程序.若要确认 加密内容以便保护数据 设置未启用,请按照下列步骤操作: 用鼠标右键单击您要在其中安装 2007 Office 套件或程序的文件夹. 单击 属性. 在 常规 选项卡上单击 高级. 高级属性 对话框中确保清除了 压缩或加密属性 下的 加密内容以便保护数据 复选框 选中文件夹——鼠标右键——属性,出来如上界面 打开“我的电脑”——〉“工具”——〉“文件加选项”——〉“查看”——〉把“使用简单文件共享”前面的钩划掉.

四会市18976006999: 错误 1 error LNK2001: 无法解析的外部符号 - mainCRTStartup 错误 2 error LNK1120: 1 个无法解析的外部命 -
戊武补脾: VC编译程序时过程是这样的,在编译控制台程序时编译器并不是从main函数开始执行,而是去找mainCRTStartup函数,mainCRTStartup函数做些工作,如把一个命令行的字符串拆分成几个字符串等工作,然后去mainCRTStartup再去调用main函数.你新建一个cpp文件就可以了,但是如果你建了cpp文件,但是没有main函数,那么就会提示无法解析的符号_main,已在mainCRTStartup中引用,其实就是main函数你没有定义,但是mainCRTStartup调用了它.而你的这个错误是没有找到mainCRTStartup函数,你只要新建一个cpp文件就可以了,系统会替你写mainCRTStartup函数的.

四会市18976006999: 求问:error LNK2001: unresolved external symbol 是什么意思啊?怎么改? -
戊武补脾: LIBCD.LIB 里没有 _WinMain 这个函数,或者参数不正确 例如 LIBCD.LIB 定义为 int _WinMain(HINSTANCE, HINSTANCE, LPSTR, INT); 导入时为 int _WinMain(HINSTANCE, HINSTANCE, LPCSTR, INT); 这样就会出现 LIBCD.lib(wincrt0....

四会市18976006999: error LNK2001: unresolved external symbol - FINDPOINT@24 Fortran语言这是什么错误?子程序都这样错误? -
戊武补脾: 可能性1:FINDPOINT 这个函数没找到.可能性2:有这个函数,但你没有加入工程.如果这个函数是在某函数库里,你没有正确的使用它.可能性3:FindPoint 是个数组,但你没有申明为数组,编译器误以为是函数

四会市18976006999: error LNK2001: -
戊武补脾: 你前面写的函数声明是:BOOL Initwindows(HINSTANCE hInstance,int nCmdShow); 而后面的实现却是:BOOL InitWindows(HINSTANCE hInstance,int nCmdShow);注意,大小写有所不同,所以编译器会认为是两个函数!

四会市18976006999: error LNK2001、fatal error LNK1120 怎么解决??? -
戊武补脾: Project] --> [Settings] --> 选择"Link"属性页 在Project Options中将/subsystem:windows改成/subsystem:console

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网