Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Umsteiger Mini JLI'ler
Anmeldedatum: 28.01.2003 Beiträge: 9
Medaillen: Keine
|
Verfasst am: 28.01.2003, 14:03 Titel: Problem mist windows-anwendungen |
|
|
ich habe das buch "Spieleprogrammierung mit C++ und DirectX" und habe das Beispiel "HelloWindows" aus dem JLI Beispiele Ordner ausgeführt.
Doch es funktioniert nicht-
hier der Code:
/*
Jetzt lerne ich Spieleprogrammierung mit DirectX und Visual C++
Listing: 11.1
Programmname: Hello Windows
Beschreibung: Dieses Programm zeigt ein einfaches Windows-Programm
Führen Sie das Programm durch Drücken
der Tastenkombination Strg + F5 aus.
*/
// Headerdatei
#include <windows.h>
// Anwendungsfenster erzeugen
HWND CreateMainWindow(HINSTANCE hInstance);
//Callback Funktion zur Nachrichtenbehandlung
LRESULT CALLBACK MessageHandler(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam);
// Das Fensterhandle
HWND hWnd = 0;
// Windows main-Funktion
int WINAPI WinMain(HINSTANCE hInstance, // Handle der Programminstanz
HINSTANCE hPrevInstance, // Handle der letzten Instanz
LPSTR lpCmdLine, // Kommandozeile
int nCmdShow) // Art wie das Fenster angezeigt werden soll
{
// Fenster erzeugen und Handle speichern
hWnd = CreateMainWindow(hInstance);
// Wenn der Rückgabewert 0 ist, ist ein Fehler aufgetreten
if(0 == hWnd)
{
MessageBox(0,"Fenster konnte nicht erzeugt werden","Fehler",MB_OK);
return 0;
}
// Struktur, in der Informationen zur Nachricht gespeichert werden
MSG msg;
// Diese Schleife läuft bis die Nachricht WM_QUIT empfangen wird
while(GetMessage(&msg,NULL,0,0))
{
// Nachricht an die Callbackfunktion senden
TranslateMessage(&msg);
DispatchMessage(&msg);
}
// Rückgabewert an Windows
return 0;
}
und hier der Fehler:
--------------------Konfiguration: HelloWindows - Win32 Debug--------------------
Kompilierung läuft...
HelloWindows.cpp
Linker-Vorgang läuft...
HelloWindows.obj : error LNK2001: Nichtaufgeloestes externes Symbol "struct HWND__ * __cdecl CreateMainWindow(struct HINSTANCE__ *)" (?CreateMainWindow@@YAPAUHWND__@@PAUHINSTANCE__@@@Z)
LIBCD.lib(crt0.obj) : error LNK2001: Nichtaufgeloestes externes Symbol _main
Debug/HelloWindows.exe : fatal error LNK1120: 2 unaufgeloeste externe Verweise
Fehler beim Ausführen von link.exe.
HelloWindows.exe - 3 Fehler, 0 Warnung(en)
woran kann das liegen? |
|
Nach oben |
|
|
Maar Mini JLI'ler
Anmeldedatum: 02.01.2003 Beiträge: 3
Medaillen: Keine
|
Verfasst am: 28.01.2003, 14:32 Titel: |
|
|
1. Du hast (wahrscheinlich) unabsichtlich ein Win32-Konsolenanwendungs-Projekt erstellt.
Lösung: Neues Win32-Anwendung-Projekt erstellen und Code einfügen.
2. Code-Tags für deine Beiträge benutzen.
3. Ich bin sicher dieses "Problem" ist hier schon häufiger aufgetaucht. Also einfach mal die Boardsuche verwenden. |
|
Nach oben |
|
|
VerruecktesHuhn Super JLI'ler
Anmeldedatum: 30.07.2002 Beiträge: 492 Wohnort: Stuttgart Medaillen: Keine
|
Verfasst am: 28.01.2003, 15:20 Titel: |
|
|
Ich denke du hast einfach die Funktion: "CreateMainWindow" zwar deklariert, aber nicht definiert... |
|
Nach oben |
|
|
Maar Mini JLI'ler
Anmeldedatum: 02.01.2003 Beiträge: 3
Medaillen: Keine
|
Verfasst am: 28.01.2003, 15:45 Titel: |
|
|
VerruecktesHuhn hat Folgendes geschrieben: | Ich denke du hast einfach die Funktion: "CreateMainWindow" zwar deklariert, aber nicht definiert... |
Das erklärt dann natürlich auch, wieso der Linker nach der main-Funktion verlangt.
Zitat: | LIBCD.lib(crt0.obj) : error LNK2001: Nichtaufgeloestes externes Symbol _main
|
|
|
Nach oben |
|
|
VerruecktesHuhn Super JLI'ler
Anmeldedatum: 30.07.2002 Beiträge: 492 Wohnort: Stuttgart Medaillen: Keine
|
Verfasst am: 28.01.2003, 15:50 Titel: |
|
|
ne, aber nachdem du das erklärt hattes, hielt ich nur noch für nötig das:
Code: |
error LNK2001: Nichtaufgeloestes externes Symbol "struct HWND__ * __cdecl CreateMainWindow(struct HINSTANCE__ *)" (?CreateMainWindow@@YAPAUHWND__@@PAUHINSTANCE__@@@Z)
|
zu versuchenzu erklären. |
|
Nach oben |
|
|
|