Visual Studio中的C程序

时间:2010-12-21 23:00:44

标签: c visual-studio

我是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

任何人都知道问题是什么? 感谢。

2 个答案:

答案 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 ==========