MFC Library problem
6 отговора
147 прегледа
MFC Library problem
Taj kato mi popadna knigata na Jeff Prosise Programming Windows with MFC
reshih da probvam da pusna parvijat primer kojto e daden v knigata. Stava
duma za programa ot tipa "Hallo", otvarja se edin prozorec na kojto pishe
"Hallo MFC". Za da izpolzvam MFC bibliotekata slagam #include "afxwin.h".
Eto i koda na tazi uprostena programa:
Hello.h
class CMyApp : public CWinApp
{
public:
virtual BOOL InitInstance ();
};
class CMainWindow : public CFrameWnd
{
public:
CMainWindow ();
protected:
afx_msg void OnPaint ();
DECLARE_MESSAGE_MAP ()
};
Hello.cpp
#include <afxwin.h>
#include "Hello.h"
CMyApp myApp;
/////////////////////////////////////////////////////////////////////////
// CMyApp member functions
BOOL CMyApp::InitInstance ()
{
m_pMainWnd = new CMainWindow;
m_pMainWnd->ShowWindow (m_nCmdShow);
m_pMainWnd->UpdateWindow ();
return TRUE;
}
/////////////////////////////////////////////////////////////////////////
// CMainWindow message map and member functions
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_VCENTER);
}
Sled kato se opitah da kompiliram programata s Visual C++ 6.0 mi dade slednata
informacij za greshka na Linkera.
Compiling...
Hello.cpp
Linking...
nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex
nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __beginthreadex
libcd.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/Hello.exe : fatal error LNK1120: 3 unresolved externals
Error executing link.exe.
Hello.exe - 4 error(s), 0 warning(s)
Javno ne namira neshto v tova copie na MFC bibliotekata. Kak moga da si napravja
variant na Static Link Library v zavisimost ot nujdite mi.
reshih da probvam da pusna parvijat primer kojto e daden v knigata. Stava
duma za programa ot tipa "Hallo", otvarja se edin prozorec na kojto pishe
"Hallo MFC". Za da izpolzvam MFC bibliotekata slagam #include "afxwin.h".
Eto i koda na tazi uprostena programa:
Hello.h
class CMyApp : public CWinApp
{
public:
virtual BOOL InitInstance ();
};
class CMainWindow : public CFrameWnd
{
public:
CMainWindow ();
protected:
afx_msg void OnPaint ();
DECLARE_MESSAGE_MAP ()
};
Hello.cpp
#include <afxwin.h>
#include "Hello.h"
CMyApp myApp;
/////////////////////////////////////////////////////////////////////////
// CMyApp member functions
BOOL CMyApp::InitInstance ()
{
m_pMainWnd = new CMainWindow;
m_pMainWnd->ShowWindow (m_nCmdShow);
m_pMainWnd->UpdateWindow ();
return TRUE;
}
/////////////////////////////////////////////////////////////////////////
// CMainWindow message map and member functions
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_VCENTER);
}
Sled kato se opitah da kompiliram programata s Visual C++ 6.0 mi dade slednata
informacij za greshka na Linkera.
Compiling...
Hello.cpp
Linking...
nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex
nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __beginthreadex
libcd.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/Hello.exe : fatal error LNK1120: 3 unresolved externals
Error executing link.exe.
Hello.exe - 4 error(s), 0 warning(s)
Javno ne namira neshto v tova copie na MFC bibliotekata. Kak moga da si napravja
variant na Static Link Library v zavisimost ot nujdite mi.
Re: MFC Library problem
Abe 4owek ti da nesi pisal wsi4ko towa na ryka? Ne izpolzwash li raznite mu tam WIZARD - i. Sigurno w proekta ti ne sa wklu4eni neobhodimite *.lib failowe, ako wopshte si naprawil prject.
Ako neznaesh kak da si go naprawish ......... :
1. Menu File->New
2. Izbirash Projects - Win32 Application // ne zabrawia da napishesh ime na Projecta
3. Posle izbirash "Empty Project" ili neshto takowa beshe, i karash nanatyka
4. nakraia mojesh da natisnesh "Finish".
5. Posle pribawi tezi failowe deto si gi napisal kym tozi Project (menu Project->Add to project->Files)
6. Posle menu Project->Settings ot poiawiliat se dialog izbirash General i ot Microsoft Foundation Classes izbirash "use MFC in a shared DLL " ili drugoto za "static" neshtata.
7. Mai e towa....
Ako ne stane niakyde w na4aloto na knigata go pishe s podrobnosti kak to4no stawa, ama mislia 4e ne sym zabrawil nishto

Ako neznaesh kak da si go naprawish ......... :
1. Menu File->New
2. Izbirash Projects - Win32 Application // ne zabrawia da napishesh ime na Projecta
3. Posle izbirash "Empty Project" ili neshto takowa beshe, i karash nanatyka
4. nakraia mojesh da natisnesh "Finish".
5. Posle pribawi tezi failowe deto si gi napisal kym tozi Project (menu Project->Add to project->Files)
6. Posle menu Project->Settings ot poiawiliat se dialog izbirash General i ot Microsoft Foundation Classes izbirash "use MFC in a shared DLL " ili drugoto za "static" neshtata.
7. Mai e towa....
Ako ne stane niakyde w na4aloto na knigata go pishe s podrobnosti kak to4no stawa, ama mislia 4e ne sym zabrawil nishto
Re: MFC Library problem
Направи следното:
Project-Settings, таб General, category: Code generation, use run-time library:
Debug Multithread
Project-Settings, таб General, category: Code generation, use run-time library:
Debug Multithread
Re: MFC Library problem
Kato ste mazohisti pishete 200 reda za edin "Hello World"... za mene kombinaciqta Delphi+VCL nqma ravna
Re: MFC Library problem
Spoko, nikoi ne pishe 200 reda za edin window s nadpis 'Hello World!'. Problemut, diskutiran tuk e imenno zaradi tova, che... kodut e pisan na ruka. Ako beshe generiran ot wizard-a, nqmashe da ima problem. A az mislq, che kakvoto i da se govori, VC++ e nai-profesionalno. Konkretno za Delphi - mnogo ot dascalite po informatika, znaesti Pascal, za po-lesno se prehvurlqt na nego. Samo che e dalec ot silata i guvkavostta na C++.
Re: MFC Library problem
Kade se namira tova, v Project settings general ima samo pole za izbor na MFC i vhodnata i izhodna direktorija
Re: MFC Library problem
nishto ne mi prechi za edin hello world da si napisha
console application i w projecta da imam samo
#include <stdio.h>
int main()
{
printf("hello world");
return 0;
}
bez da znam za VCL, MFC i drugi podobni
za mene cosole applications niamat ravni :)
wsichko drugo e boza :)
BTW na Delphi ima li target - console application?
console application i w projecta da imam samo
#include <stdio.h>
int main()
{
printf("hello world");
return 0;
}
bez da znam za VCL, MFC i drugi podobni
za mene cosole applications niamat ravni :)
wsichko drugo e boza :)
BTW na Delphi ima li target - console application?