gpt4 book ai didi

c - _main() 未解决

转载 作者:太空宇宙 更新时间:2023-11-04 01:02:29 28 4
gpt4 key购买 nike

我使用 visual studio 2013 在 C 中编写程序,但出现此错误:MSVCRTD.lib(crtexe.obj):错误 LNK2019:函数 ___tmainCRTStartup 中引用了未解析的外部符号 _main

我不知道它是什么意思以及如何修复它。这是代码:

#include<stdio.h>

int getArr(int arr[]){
int n;
scanf("%d",&n);
for(int i=0;i<n;i++)
scanf("%d",&arr[i]);
return n;
}

void putArr(int arr[],int n)
{
for(int i=0;i<n;i++)
printf("%d\t",arr[i]);
printf("\n");
}

void sort(int Arr[],int nArr)
{
for(int i=0;i<nArr-1;i++)
{
int minIndex=i;
for(int j=i+1;j<nArr;j++)
if(Arr[j]<Arr[minIndex])
minIndex=j;
int t=Arr[i];
Arr[i]=Arr[minIndex];
Arr[minIndex]=t;
}
}

int main()
{
int arr[100];
int nArr;
nArr=getArr(arr);
sort(arr,nArr);
putArr(arr,nArr);

return 0;
}

最佳答案

使用命令行工具(通过“VS xxxx 开发人员命令提示符”窗口),您编写的代码可以在 VS 2012、VS 2013 或 VS 2015 上正常构建。

Windows 为 C/C++ 控制台应用程序提供了三种主要类型:

main:这是传统的 ANSI main,它将命令行参数作为 char*

wmain:这是 Unicode main,它将命令行参数作为 wchar_t*

_tmain:这是可以构建为 ANSI 或 Unicode 的 _TCHAR 版本。这是默认模板使用的内容,并设置为构建为 Unicode。

如果您将 void main() 更改为 void wmain() 它也会构建,因为默认模板项目设置设置为“使用 Unicode 字符集”在命令行上添加 /D_UNICODE/DUNICODE

如果您转到“项目”->“属性”->“常规”并将字符集 设置为“使用多字节字符集”以用于所有配置和所有平台,那么您对void main 的使用() 将成功链接。这使用 /D_MBCS 作为命令行而不是 /D_UNICODE/DUNICODE

也就是说,使用 VS 2013 的默认项目,即使不更改字符集设置,您的代码构建也可以很好地用您的 main 替换现有的 _tmain

关于c - _main() 未解决,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33132157/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com