Solved

Visual C++ 5 error message....I can't remember what it means!

Posted on 2001-07-24
5
203 Views
Last Modified: 2010-04-02
I've been trying to compile this source code from a Windows program that does absolutely nothing at this point:

#include <windows.h>

LRESULT CALLBACK wndProc(HWND w,UINT msg,WPARAM wp,LPARAM lp)
{
  switch(msg) {
  case WM_CREATE:
     return 0;
  case WM_RBUTTONDOWN:
  case WM_CLOSE:
     PostQuitMessage(0);
     DestroyWindow(w);
     return 0;
  }
  return DefWindowProc(w,msg,wp,lp);
}

int WINAPI WinMain(
 HINSTANCE hInstance,  // handle to current instance
 HINSTANCE hPrevInstance,  // handle to previous instance
 LPSTR lpCmdLine,      // pointer to command line
 int nCmdShow          // show state of window
)
{
  WNDCLASS cls;
  HWND w;
  MSG msg;

  memset(&cls,0,sizeof(cls));
  cls.lpfnWndProc=wndProc;
  cls.hInstance=GetModuleHandle(0);
  cls.lpszClassName="class";
  cls.hbrBackground=(HBRUSH)(COLOR_WINDOW+1);
  RegisterClass(&cls);
  w=CreateWindowEx(0,"class","test",
     WS_POPUP|WS_VISIBLE|WS_SYSMENU|WS_CAPTION,
     5,5,200,200,0,0,cls.hInstance,0);
  while(GetMessage(&msg,0,0,0)) {
     TranslateMessage(&msg);
     DispatchMessage(&msg);
  }
}

The problem is, when I try to build this in Visual C++ 5 I get these two error messages:

Linking...
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/Proj.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.

What's wrong?  What I am doing wrong?  Thanks for any help! :D

0
Comment
Question by:tiffchuff
5 Comments
 
LVL 86

Accepted Solution

by:
jkr earned 100 total points
ID: 6315666
The problem is cause by your project settings, which apparently indicate a console app as the target (for which 'main()' would be needed, whereas 'WinMain()' is mandantory for a GUI app).

Go to your project settings (Alt+F7), choose the 'Link' tab, select 'All Configurations' and take a look at the text field at the bottom. There, change '/subsystem:console' to read '/subsystem:windows'.
0
 

Expert Comment

by:westaf
ID: 6317214
For your convenience, just create a new empty win32 gui project and add your .cpp file into it and compile!
0
 
LVL 86

Expert Comment

by:jkr
ID: 6340132
tiffchuff, are you still with us?
0
 
LVL 11

Expert Comment

by:griessh
ID: 6833172
I think you forgot this question. I will ask Community Support to close it unless you finalize it within 7 days. Unless there is objection or further activity,  I will suggest to accept "jkr" comment(s) as an answer.

If you think your question was not answered at all, you can post a request in Community support (please include this link) to refund your points.
The link to the Community Support area is: http://www.experts-exchange.com/jsp/qList.jsp?ta=commspt

PLEASE DO NOT ACCEPT THIS COMMENT AS AN ANSWER!
======
Werner
0
 
LVL 5

Expert Comment

by:Netminder
ID: 6853157
Per recommendation comment force/accepted by

Netminder
Community Support Moderator
Experts Exchange
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In days of old, returning something by value from a function in C++ was necessarily avoided because it would, invariably, involve one or even two copies of the object being created and potentially costly calls to a copy-constructor and destructor. A…
  Included as part of the C++ Standard Template Library (STL) is a collection of generic containers. Each of these containers serves a different purpose and has different pros and cons. It is often difficult to decide which container to use and …
The viewer will learn how to clear a vector as well as how to detect empty vectors in C++.
The viewer will be introduced to the technique of using vectors in C++. The video will cover how to define a vector, store values in the vector and retrieve data from the values stored in the vector.

713 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question