我的Win32 C ++'Hello World程序'将无法编译

时间:2016-04-04 15:03:11

标签: c++ visual-studio-2015

所以我的语言是C#,所以我决定学习C ++。我用这段代码制作了一个hello world程序

#include <stdio.h>    // include the standard input/output header file

void main(void)    // our program starts here
{
printf("Hello World!");    // print "Hello World!" into the console
return;    // return void to windows
}

但是我在编译时遇到了这个错误(我正在使用Visual Studio 2015)

Error   LNK1120 1 unresolved externals  Render Engine   c:\users\kamaldeep rai\documents\visual studio 2015\Projects\Render Engine\Debug\Render Engine.exe  

Error   LNK2019 unresolved external symbol _WinMain@16 referenced in function "int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ) Render Engine   c:\Users\kamaldeep rai\documents\visual studio 2015\Projects\Render Engine\Render Engine\MSVCRTD.lib(exe_winmain.obj)

2 个答案:

答案 0 :(得分:5)

除了Paul的回答,以下是如何更改配置以便链接器查找main

  1. 打开项目属性
  2. Goto Linker
  3. 系统 - &gt;子系统
  4. 将其更改为控制台
  5. 此外,您的main原型不符合C ++,它应该返回int

答案 1 :(得分:4)

此错误:

  

错误LNK2019未解析的外部符号_WinMain @ 16

是由于在构建应用程序时未选择正确的项目类型而导致的。由于您使用的是Visual Studio,因此您希望拥有Win32 Console Application项目。

相反,您选择了一个以WinMain作为入口点的项目,而不是传统的main入口点。