erro na compilação com o visual c
17/01/2005
0
estou usando o visual c++ para compilar meus sisteminhas de aprendizado em C/C++.
achei um site bom de c... www.cplusplus.com lá tem exemplos e códigos fontes legais...
só que sempre eu compilo o meu sistema e aparece que não teve erro nenhum ai quando eu clico para criar o executável ele me mostra a seguinte mensagem
--------------------Configuration: Main - Win32 Debug--------------------
Linking...
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/Main.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
Main.exe - 2 error(s), 0 warning(s)
alguém saberia me dizer o queeu faço para corrigir esse erro
agradecendo desde já
Piaum3
Posts
17/01/2005
Massuda
Todo programa em C/C++ deve obrigatoriamente declarar/implementar uma função de nome main(). Por exemplo:
int main(int argc, char *argv[]) { // seu código aqui }
17/01/2005
Piaum3
#ifndef _WINDOWS_// if windows.h is not included...
include // include it!
endif
include ´WinTut.h´//include WinTut header file
include ´StdAfx.h´//include WinTut header file
WinTut::WinTut(HINSTANCE hIns)
{
hInst = hIns;
winTutWndCls.cbSize = sizeof(WNDCLASSEX);
winTutWndCls.style = NULL;
winTutWndCls.lpfnWndProc = WndProc;
winTutWndCls.cbClsExtra = 0;
winTutWndCls.cbWndExtra = 0;
winTutWndCls.hInstance = hInst;
winTutWndCls.hIcon = LoadIcon(NULL, IDI_APPLICATION);
winTutWndCls.hCursor = LoadCursor(NULL, IDC_ARROW);
winTutWndCls.hbrBackground = (HBRUSH)(COLOR_WINDOW);
winTutWndCls.lpszMenuName = NULL;
winTutWndCls.lpszClassName = ´WinTutClass´;
winTutWndCls.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
if(!RegisterClassEx(&winTutWndCls))
{
MessageBox(NULL, ´Grrr!\nCould not register window class!´, ´ERROR´, MB_OK | MB_ICONERROR);
}
hWnd = CreateWindowEx(WS_EX_APPWINDOW, ´WinTutClass´, ´WinTut!´, WS_OVERLAPPEDWINDOW, 0, 0, 300, 400, NULL, NULL, hInst, NULL);
if(hWnd == NULL)
{
MessageBox(NULL, ´Could not create Window! :(´, ´ERROR´, MB_OK | MB_ICONERROR);
}
}
void WinTut::show(void)
{
ShowWindow(hWnd, SW_SHOW);
}
int WINAPI WinMain(HINSTANCE hInst, HINSTANCE, LPSTR, int)
{
MSG Msg;
WinTut mainWindow(hInst);
mainWindow.show();
while(GetMessage(&Msg, NULL, 0, 0))
{
TranslateMessage(&Msg);
DispatchMessage(&Msg);
}
return Msg.wParam;
}
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch(message)
{
case WM_CLOSE:
DestroyWindow(hWnd);
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hWnd, message, wParam, lParam);
}
return 0;
}
eu tenho que declarar alguma coisa para ele reconhecer que a função winmain é a que começa?
17/01/2005
Massuda
17/01/2005
Massuda
20/01/2005
Piaum3
20/01/2005
Massuda
Eu não tenho nesse momento o VS instalado com o compilador C/C++ em nenhuma das máquinas que eu uso.
Pelo que me lembro, quando você cria um projeto C++ novo no VS, ele dá opção de aplicativo console, aplicativo Windows e outras opções que não lembro agora. Você devia ter escolhido aplicativo Windows.
Mas qual a versão do VS que você está usando?
Existe um bom fórum sobre ferramentas Microsoft no site do [url=http://www.microsoft.com/brasil/msdn/]MSDN Brasil[/url].
Clique aqui para fazer login e interagir na Comunidade :)