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.
Trying to compile a simple hello world code (C++ on Visual Studio)
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 ==========
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 ==========
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
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.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement