Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I set WinMain as entry point?

I've deleted the _tmain() method which the IDE generated because I find no sense having two entry points after adding my WinMainentry. And yes, this is my first ever C++ application and I am a newbie, but please be nice.

So that's all I got:

// Included headers:
#include "stdafx.h"
#include <iostream>
#include <Windows.h>
// Shortened namespaces:
using namespace std;
// The main entry of the application:
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd )
{
    MessageBox( NULL, L"Hello World!", L"Just another Hello World program!", MB_ICONEXCLAMATION | MB_OK );
    return 0;
}
// End of file.

When I try to build and run I get this error:

error LNK2019: unresolved external symbol _main referenced in function ___tmainCRTStartup

error LNK1120: 1 unresolved externals

I realise the entry point is missing, But where can I set WinMain as the entry point? I just took a look in the properties of the project itself and found nothing. Note that I've started the project as a console application, But now I am trying to turn it into a regualr windows application.

Thanks.

like image 333
David von Tamar Avatar asked Apr 25 '14 00:04

David von Tamar


2 Answers

You need to change the subsystem to Windows.

enter image description here

like image 174
Benjamin Lindley Avatar answered Sep 28 '22 18:09

Benjamin Lindley


Project->Properties->Linker->System change Subsystem to /SUBSYSTEM:WINDOWS

If you have further trouble with it then start all over again, selecting Win32 Project instead of Win32 Console.

like image 25
ScottMcP-MVP Avatar answered Sep 28 '22 18:09

ScottMcP-MVP