Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

04.11.2007, 15:28

SDL Einstiegspunkt nicht definiert

moin...

hab da ein kleines problem.

Hab nen neuen PC und grad meinen Compiler Konfiguriert.

Hab dann ums zu testen ein kleines SDL Programm geschrieben:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <SDL.h>

int main(int argc, char* argv[])
{
    bool exit = false;
    SDL_Init(SDL_INIT_VIDEO | SDL_INIT_TIMER);
    SDL_Surface *Screen = SDL_SetVideoMode(640, 480, 32, SDL_DOUBLEBUF | SDL_FULLSCREEN | SDL_HWSURFACE);
    Uint8 *Keystate = SDL_GetKeyState(NULL);
    do
    {
        SDL_FillRect(Screen,NULL,SDL_MapRGB(Screen->format, 0, 0, 150));
        SDL_Flip(Screen);
        SDL_Event Event;
        if(SDL_PollEvent(&Event))
        {
            switch(Event.type)
            {
            case SDL_KEYDOWN:
                {
                    switch(Event.key.keysym.sym)
                    {
                    case SDLK_ESCAPE:
                        exit = true;
                    }
                }
            }
        }
    }while(exit != true);
    SDL_Quit();
    return 0;
}


und jetzt kommt folgender Fehler:

Quellcode

1
2
3
4
5
6
1>SDL Test.cpp
1>Verknüpfen...
1>LINK : fatal error LNK1561: Einstiegspunkt muss definiert werden.
1>Das Buildprotokoll wurde unter "file://c:\Users\Felix\Documents\Visual Studio 2005\Projects\SDL Test\SDL Test\Debug\BuildLog.htm" gespeichert.
1>SDL Test - 1 Fehler, 0 Warnung(en)
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========


kann mir jemand sagen wie man den Einstiegspunkt definiert( falls es hilft:
Ich benutze Visual C++ Express)

2

04.11.2007, 15:32

hab grad noch was gefunden:

main ist in der SDL als SDL_main definiert -.-

hab jetzt einfach mal

C-/C++-Quelltext

1
#undef main

benutzt... funktioniert zwar, aber es muss noch ne bessere lösung geben...

wenn also jemand eine hat bitte sagen

T-VIRUS

Alter Hase

Beiträge: 548

Wohnort: Göttingen(West)/Nordhausen(Ost)

Beruf: Schüler

  • Private Nachricht senden

3

04.11.2007, 21:02

Hallo,
anders gehts leider nicht ;)

Meine Definition sieht wie folgt aus:

C-/C++-Quelltext

1
2
3
#ifdef _WIN32
#undef main
#endif


Dann kann er erst die exe compilieren.
Ist zwar doof aber stört kaum ;)
Einfach über die main funktione hauen und fertig :)

MFG Martin
Meine Blog:)

Wer Bugs im Text findet kann sie melden, fix erscheint irgendwann :D

MFG T-VIRUS

4

04.11.2007, 21:07

schade dachte man kann die Startfunktion irgendwie einstellen....

aber wenn nur das möglich ist, dann mach ich das auch so

trotzdem danke

Beneroth

Alter Hase

Beiträge: 969

Wohnort: Schweiz

Beruf: Software Entwickler

  • Private Nachricht senden

5

05.11.2007, 09:38

also bei mir funktionierts genau so wie dus am anfang gemacht hast, auch unter windows.

Benutze aber gcc, nicht vc, wird wohl am vc liegen :badgrin:

Bösewicht

unregistriert

6

05.11.2007, 19:09

Geh mal auf Projekt Eigenschaften->Konfigurationseigenschaften->Linker->System->SubSystem und stell auf Konsole

Weiß net ob das das richtige war, aber ich hatte das problem auch schonmal, glaube das war das richtige.
Kannst ja mal ausprobieren. :D

Am Vc liegts sicher net, ich habs ja auch und es klapt

[EDIT]Uh da stand ja noch was, aber daran hab ich glaub ich nie was verändert^^:

Projekt Eigenschaften->Konfigurationseigenschaften->Linker->Erweitert->und da steht dann Einstiegspunkt. hat vllt was damit zu tun^^

7

06.11.2007, 11:51

klingt logisch^^

und zum einstiegspunkt menü:

gut beobachtet, sherlok^^

Bösewicht

unregistriert

8

06.11.2007, 12:28

Danke :-)

Sherlock war cool^^

9

17.12.2007, 00:25

Ich weiß, ist schon ein älteres Thema, aber ich würde sagen, diese Lösung ist schöner:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
#include <SDL.h>

#pragma comment(lib,"SDL")
#pragma comment(lib,"SDLmain")

int SDL_main(int argc,char *argv[])
{
  return 0;
}

T-VIRUS

Alter Hase

Beiträge: 548

Wohnort: Göttingen(West)/Nordhausen(Ost)

Beruf: Schüler

  • Private Nachricht senden

10

17.12.2007, 18:25

Hallo,
naja müsste ich mal testen, denke aber mal es stimmt so.
Ist eigentlich jedermans geschmacks sache ;)
Ich behalte lieber int main().

MFG T-Virus
Meine Blog:)

Wer Bugs im Text findet kann sie melden, fix erscheint irgendwann :D

MFG T-VIRUS

Werbeanzeige