Trying to compile a simple hello world code (C++ on Visual Studio)

Started by
7 comments, last by Northern 11 years, 8 months ago
Hey.
I'm getting started with a C++ tutorial and so I'm trying to compile a piece of code using Visual Studio 2010:

[source lang="cpp"]
#include "stdafx.h"
#include <windows.h> // include the basic windows header file
// the entry point for any Windows program
int WINAPI WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nShowCmd)
{
// create a "Hello World" message box using MessageBox()
MessageBox(NULL,
L"Hello World!",
L"Just another Hello World program!",
MB_ICONEXCLAMATION | MB_OK);
// return 0 to Windows
return 0;
}
[/source]

Note: the second #include is actually "#include <windows.h>". It seems that the source tag on this forum is ignoring it probably because of the <> signs

I pasted it into VS and tried to run, but it wouldn't compile compaining about build errors LNK 2019 and LNK1120. Any idea why it won't work?

Thanks in advace.
Advertisement

but it wouldn't compile compaining about build errors LNK 2019 and LNK1120. Any idea why it won't work?

Please give the EXACT error message.

My guess is you missed linking against the Windows libraries, but the exact error messages will tell the story.
That's what I got:

1>------ Build started: Project: helloworld1, Configuration: Debug Win32 ------
1>helloworld1.obj : error LNK2028: unresolved token (0A000027) "extern "C" int __stdcall MessageBoxW(struct HWND__ *,wchar_t const *,wchar_t const *,unsigned int)" (?MessageBoxW@@$$J216YGHPAUHWND__@@PB_W1I@Z) referenced in function "extern "C" int __cdecl MessageBox(struct HWND__ *,wchar_t const *,wchar_t const *,unsigned int)" (?MessageBox@@$$J0YAHPAUHWND__@@PB_W1I@Z)
1>helloworld1.obj : error LNK2019: unresolved external symbol "extern "C" int __stdcall MessageBoxW(struct HWND__ *,wchar_t const *,wchar_t const *,unsigned int)" (?MessageBoxW@@$$J216YGHPAUHWND__@@PB_W1I@Z) referenced in function "extern "C" int __cdecl MessageBox(struct HWND__ *,wchar_t const *,wchar_t const *,unsigned int)" (?MessageBox@@$$J0YAHPAUHWND__@@PB_W1I@Z)
1>c:\users\main\documents\visual studio 2010\Projects\helloworld1\Debug\helloworld1.exe : fatal error LNK1120: 2 unresolved externals
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Missed what you said about windows.h comment was deleted.
yes, as I said the SOURCE tag on the forum seems to have excluded this part. It's windows.h
Try adding this to see if it resolved the issue #pragma comment(lib, "user32.lib")... If that works read this post at step 5 http://www.vyoms.com...d-code-1381.asp
Yap, it helped. Thanks.
If you're just learning C++, I'd stay away from GUI programming for the moment. Focus on command line programs that will teach you to use control flow, variables, etc.
if you think programming is like sex, you probably haven't done much of either.-------------- - capn_midnight
Yeah, good idea. I went back to just learning the basics. Thanks.

This topic is closed to new replies.

Advertisement