我是Visual Studio的新手。我正在尝试运行Hello World,但是我遇到了几个错误,无法弄清问题是什么。 我打字:
#include<stdio.h>
main()
{
printf("Hello World");
}
到扩展名为.c的代码文件中。我明白了:
Error 1 error LNK2019: unresolved external symbol _main referenced in function ___tmainCRTStartup
d:\Users\...\MSVCRTD.lib(crtexe.obj) Project
Error 2 error LNK1120: 1 unresolved externals
d:\users\...Project.exe 1 1 Project
任何人都知道问题是什么? 感谢。
答案 0 :(得分:1)
提供的代码存在两个主要问题。第一个是你没有在“include”之后添加要包含的标题。试试这个:
#include <stdio.h>
第二个是主要需要返回类型。尝试:
int main()
{
printf("Hello World");
return 0;
}
答案 1 :(得分:1)
它编译得很好......你需要将它设置为编译为C代码:
项目 - &gt;属性 - &gt;高级 - &gt;编译为C代码(/ TC标志)
#include<stdio.h>
main()
{
printf("Hello World");
}
<强>输出:强>
1>------ Build started: Project: main,
Configuration: Debug Win32 ------
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped
==========
<强>原因:强>
您正在编译为C代码,因此在C ++代码
中不假定默认为int<强>更新强>
正如 Michael Burr 所述,您的代码应使用*.c
扩展名。但是,如果设置项目属性,它仍将编译cpp文件作为c代码。但是,如果未提供任何设置,则会使用默认设置(*.c -> c code)
和(*.cpp -> cpp code)
进行编译。
编译为 C 代码 CPP 扩展名(成功)
1>------ Build started: Project: main, Configuration: Debug Win32 ------
1> main.cpp
1> main.vcxproj -> c:\users\shane\documents\visual studio 2010\Projects\main\Debug\main.exe
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
使用 C 扩展程序编译为 CPP 代码(失败)
1>------ Build started: Project: main, Configuration: Debug Win32 ------
1> main.c
1>c:\users\shane\documents\visual studio 2010\projects\main\main\main.c(4): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========