SDL - problem z kompilacją w MS VC++ 2005 express

0

Witam. Mam zainstalowanego MS VC++ 2005 express, do tego zainstalowaną platform SDK oraz dokonane zmiany wg. polecen na stronce microsoftu by moc tego uzywac. Ostatnio zaimplementowalem sobie biblioteke SDL dokonywujac odpowiednich zmian w kompilatorze tak jak przy paltformie SDK. Ale wyskakuja mi dziwne bledy, dla przyklau, oto program ktory jest z tutoriala:

#include "SDL.h"

void ShowBMP(char *file, SDL_Surface *screen, int x, int y)
{
SDL_Surface *image;
SDL_Rect dest;

/* Load the BMP file into a surface */
image = SDL_LoadBMP(file);
if ( image == NULL ) {
    fprintf(stderr, "Couldn't load %s: %s\n", file, SDL_GetError());
    return;
}

/* Blit onto the screen surface.
   The surfaces should not be locked at this point.
 */
dest.x = x;
dest.y = y;
dest.w = image->w;
dest.h = image->h;
SDL_BlitSurface(image, NULL, screen, &dest);

/* Update the changed portion of the screen */
SDL_UpdateRects(screen, 1, &dest);

}

A oto błędy:

Linking...
MSVCRTD.lib(cinitexe.obj) : warning LNK4098: defaultlib 'msvcrt.lib' conflicts with use of other libs; use /NODEFAULTLIB:library
SDLmain.lib(SDL_win32_main.obj) : error LNK2019: unresolved external symbol _SDL_main referenced in function _main
E:\Moje c++\smieci\proba_sdk\Debug\proba_sdk.exe : fatal error LNK1120: 1 unresolved externals
Build log was saved at "file://e:\Moje c++\smieci\proba_sdk\proba_sdk\Debug\BuildLog.htm"
proba_sdk - 2 error(s), 1 warning(s)

Bardzo proszę o wskazowkę co moge z tym zrobic, dlaczego tak jest.. :) z gory dziekuje

0

Cóż.. chyba pospieszyłem sie z prośbą o pomoc w tym zakresie, poszukałem trochę i znalazłem odpowiedź :D tak więc dla tych którzy mieliby z tym porblem, oto ogolne rozwiązanie przy uzywaniu SDL:

Wchodzimy w ustawienia projectu i w okienku Property Pages rozwijamy szablon C/C++ następnie w Code Generation ustawiamy w Runtime Library opcję Multi-threaded DLL/MD)

Błąd dotyczący funkcji main polega chyba na tym że wykorzystując bibliotekę SDL konieczne jest użycie takiej instrukcji:

int main(int argc, char *argv[]) zamiast zwyklego int main( )
i to chyba tyle..

1 użytkowników online, w tym zalogowanych: 0, gości: 1