JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=a68dadc5d0c6cd0ded079d353e846a6fMedaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Problem mist windows-anwendungen

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Umsteiger
Mini JLI'ler



Anmeldedatum: 28.01.2003
Beiträge: 9

Medaillen: Keine

BeitragVerfasst am: 28.01.2003, 14:03    Titel: Problem mist windows-anwendungen Antworten mit Zitat

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? Crying or Very sad
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Maar
Mini JLI'ler



Anmeldedatum: 02.01.2003
Beiträge: 3

Medaillen: Keine

BeitragVerfasst am: 28.01.2003, 14:32    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
VerruecktesHuhn
Super JLI'ler



Anmeldedatum: 30.07.2002
Beiträge: 492
Wohnort: Stuttgart
Medaillen: Keine

BeitragVerfasst am: 28.01.2003, 15:20    Titel: Antworten mit Zitat

Ich denke du hast einfach die Funktion: "CreateMainWindow" zwar deklariert, aber nicht definiert...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Maar
Mini JLI'ler



Anmeldedatum: 02.01.2003
Beiträge: 3

Medaillen: Keine

BeitragVerfasst am: 28.01.2003, 15:45    Titel: Antworten mit Zitat

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. Wink

Zitat:
LIBCD.lib(crt0.obj) : error LNK2001: Nichtaufgeloestes externes Symbol _main
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
VerruecktesHuhn
Super JLI'ler



Anmeldedatum: 30.07.2002
Beiträge: 492
Wohnort: Stuttgart
Medaillen: Keine

BeitragVerfasst am: 28.01.2003, 15:50    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum