Ren
Ren

Reputation: 4683

Build Error "LNK2019: unresolved external symbol _WinMain@16"

So, I am a total noob at C++ and I need serious help. I bet for some average users this is not even a problem, so please help me.

I wrote this in Visual Studio Professional as a Win32 console file.

#include <iostream>
using namespace std;

int main()
{
    int i = 100;

    return 0;
}

And in the console I get the following:

1>------ Build started: Project: Project1_RenatoAlegre, Configuration: Debug Win32 ------
1>Build started 1/25/2012 3:09:03 PM.
1>InitializeBuildStatus:
1>  Touching "Debug\Project1_RenatoAlegre.unsuccessfulbuild".
1>ClCompile:
1>  All outputs are up-to-date.
1>ManifestResourceCompile:
1>  All outputs are up-to-date.
1>MSVCRTD.lib(crtexew.obj) : error LNK2019: unresolved external symbol _WinMain@16 referenced in function ___tmainCRTStartup
1>c:\users\ren\documents\visual studio 2010\Projects\Project1_RenatoAlegre\Debug\Project1_RenatoAlegre.exe : fatal error LNK1120: 1 unresolved externals
1>
1>Build FAILED.
1>
1>Time Elapsed 00:00:03.37
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

I have no way of running the program because of this "1 failed" something. I must run the program in Visual Studio Professional.

Upvotes: 3

Views: 14002

Answers (2)

Moon
Moon

Reputation: 35265

Please change the subsystem in your linker settings from Windows to Console.

  • Right click on the Project name in the Solution Explorer
  • Select Properties
  • Open Linker in Configuration Properties
  • Subsystem will be the first item on the list.
  • Select Console (/SUBSYSTEM:CONSOLE) on the dropdown

Upvotes: 2

Xeo
Xeo

Reputation: 131779

Project properties -> C/C++ -> Linker -> System -> SubSystem: Console (/SUBSYSTEM:CONSOLE)

If you want a console project.

Upvotes: 9

Related Questions