每次我尝试构建一个简单的“hello world”时,我总是收到 2 个错误

Every time I try to build a simple "hello world" I always get 2 errors

提问人:Jimmy 提问时间:6/9/2012 最后编辑:BlorgbeardJimmy 更新时间:6/9/2012 访问量:599

问:

我正在使用 Visual Studio 2010。

每次我尝试构建一个简单的“hello world”时,我总是收到 2 个错误。

代码如下:

#include  <iostream>

 using namespace std;

 int main ()
 {
  cout << "Hello World!";
  return 0;
 }

错误 2 错误 LNK1120: 1 未解析的外部 C:\Users\hershell kurt\Documents\Visual Studio 2010\Projects\test\Release\test.exe 测试

错误 1 错误LNK2001:未解析的外部符号 _WinMain@16 C:\Users\hershell kurt\Documents\Visual Studio 2010\Projects\test\test\MSVCRT.lib(crtexew.obj) test

我该如何解决这个问题?

C++ 可视化工作室

评论

0赞 Griwes 6/9/2012
这实际上是单个错误;第一行只是通知您有未解析的外部,接下来是错误行 - 有一个未解析的外部,因此有一个链接器错误。

答:

1赞 Alanir Alonedaw 6/9/2012 #1

您已经创建了 Win32 项目,但没有“main”函数,但有 WinMain。谷歌或使用“win32 控制台应用程序”。

评论

0赞 Jimmy 6/9/2012
对所有人来说,谢谢这么多人。我现在每次执行程序时都运行它没有错误,我需要一直这样做吗。?我的意思是使用 Win32 控制台将是我的默认设置,而不是使用空程序。^^我只想澄清将来使用 Win32 控制台和空程序是否存在错误。
2赞 Tudor 6/9/2012 #2

奇怪的是,我只是创建了一个空项目并粘贴了您的代码,它对我来说效果很好。

确保您将项目创建为 ,然后在出现的窗口中单击“下一步”并选择“空项目”。Win32 Console Application

评论

0赞 Jimmy 6/9/2012
对所有人来说,谢谢这么多人。我现在每次执行程序时都运行它没有错误,我需要一直这样做吗。?我的意思是使用 Win32 控制台将是我的默认设置,而不是使用空程序。^^我只想澄清将来使用 Win32 控制台和空程序是否存在错误。
0赞 Tudor 6/9/2012
@ningpta:如果你只想要一个简单的控制台应用程序,你应该每次都使用 Win32 控制台应用程序。就是这样。
0赞 Tudor 6/9/2012
@ningpra顺便说一句,不要忘记将最有用的答案标记为已接受,以便未来的读者快速找到它。
2赞 PsychoMantis 6/9/2012 #3

您已经创建了 Win32 项目,但没有“main”函数,但有 WinMain。谷歌或使用“win32 控制台应用程序”。正如 Alanir AlonedawTudor 所说;尝试创建一个新项目,但选择控制台应用程序而不是 win32 项目。

在此:)之后,它应该可以正确编译

win32 项目需要“WinMain”函数,而不是控制台应用程序所需的“main”函数。win32 项目通常是基于 Windows API 的基于 GUI 的应用程序

评论

0赞 Jimmy 6/9/2012
对所有人来说,谢谢这么多人。我现在每次执行程序时都运行它没有错误,我需要一直这样做吗。?我的意思是使用 Win32 控制台将是我的默认设置,而不是使用空程序。^^我只想澄清将来使用 Win32 控制台和空程序是否存在错误。