Newsgroup: it.comp.lang.c++
Titolo: Riferimento al simbolo _main non risolto ???

Ho provato a cercare un newsgroup che trattasse di MFC e non avendolo
trovato
pongo qui una richiesta di aiuto.
Ho due file
HELLO.H
class CMyApp : public CWinApp
{
     public: virtual BOOL InitInstance ();
};
class CMainWindow : public CFrameWnd
{
     public:   CMainWindow ();
     protected:   afx_msg void OnPaint ();
                  DECLARE_MESSAGE_MAP ()
};
e
HELLO.CPP
#include <afxwin.h>
#include "Hello.h"
CMyApp myApp;
BOOL CMyApp::InitInstance()
{
         m_pMainWnd = new CMainWindow;
         m_pMainWnd->ShowWindow (m_nCmdShow);
         m_pMainWnd->UpdateWindow ();
        return TRUE;
}
BEGIN_MESSAGE_MAP (CMainWindow, CFrameWnd)
     ON_WM_PAINT ()
     END_MESSAGE_MAP ()
CMainWindow::CMainWindow ()
{
        Create (NULL, _T ("The Hello Application"));
}
void CMainWindow::OnPaint ()
{
        CPaintDC dc (this);
        CRect rect;
        GetClientRect (&rect);
        dc.DrawText(_T("Hello MFC"), -1, &rect,
                        DT_SINGLELINE | DT_CENTER |  DT_VCNTER);
}
Il codice è tratto dal libro "Programmare Windows con MFC"
Nel generare la soluzione con Visual C++ NET  ho questo errore:
"error Lnk 2019: riferimento al simbolo esterno _main non risolto nella
funzione _mainCRTStartup."
Dopo un paio di ore ho pensato di chiedere aiuto.
Ringrazio per eventuali suggerimento.
Rosario
PS: (spero di non suscitare OTtusismo di qualche smanettone)


Che tipo di progetto hai aperto ?? In pratica si incasina nel ricercare 
il punto d'ingresso del programma. Se vai in Progetto->Proprietà di... e 
selezioni Linker->Avanzate la prima voce è magicamente "Punto 
d'ingresso"; ad esempio se te crei un progetto Win32 ma invece di 
utilizzare WinMain vuoi utilizzare il buon vecchio
int main (int argc, char ** argv )
devi andare a mettere in quella voce "_mainCRTStartup".
Adesso ciò che mi perplime è che se te hai aperto un Progetto MFC il 
compilatore non dovrebbe cercare main() come punto d'ingresso, ma il 
winmain (in realtà per le MFC è un'altra cosa, neanche winmain, viene 
creato un main in funzione dell'oggetto che rappresenta la tua 
applicazione).
Quindi come suggerimento controlla che tu non abbia aperto un progetto 
win32 SENZA MFC, altrimenti state parlando 2 lingue diverse....
j0k3r
P.s.: inutile dirti che avresti dovuto postare su 
it.comp.programmare.win32 ;)

 int main (int argc, char ** argv )
Ho aperto un progetto Win32 vuoto, perchè se apro un progetto MFC
mi produce tanto di quel codice che non so dove incominciare.
Ho cambiato nelle proprità generali la casella di USO di MFC in
Usa MFC in una DLL condivisa.
Quando provo a generare il progetto appare l'errore
"Il punto di ingresso deve essere definito"
Non so come definire il punto di ingresso visto che vuole proprio una
stringa che identifica un nome tipo WinMain
Grazie per il suggerimento del newsgroup adeguato
ma se hai buon cuore mi dai ancora una dritta.
Ciao Rosario

 Ciao Rosario
Ehm, il problema è che non conosco questo dettaglio delle MFC, le ho 
usate per il lavoro di tesi e nient'altro....
Cmq se posso darti un consiglio, quando studi le MFC c'è sempre una 
marea di codice a contorno, cerca di capire dove introdurre quello che 
vuoi studiare, settare un progetto MFC da zero è scocciante e 
soprattutto inutile, come te hai visto il codice necessario lo mette 
lui, devi *solo* capire a che serve....
j0k3r

 PS: (spero di non suscitare OTtusismo di qualche smanettone)
Speri male. La tua pigrizia merita una punizione.
Ciao,
Nicola