Ir ao conteúdo
  • Cadastre-se

Problema com biblioteca SDL no c++


Posts recomendados

Estou tentando usar a biblioteca SDL em c++. Usando a função "main (int argc,char *argv[]) "  de C, eu consigo compilar e executar normalmente o seguinte código:

#include <SDL/SDL.h>int main( int argc, char *argv[] ){    SDL_Surface* tela = NULL;        SDL_Init( SDL_INIT_EVERYTHING );        tela = SDL_SetVideoMode( 100, 100, 16, SDL_SWSURFACE );        SDL_Delay( 5000 );        SDL_Quit();        return 0;}

Mas quando eu uso a função main() sem argumentes (padrão de C++) aparece esse erro:

 

[Linker error] undefined reference to `SDL_main' 

 

Alguem pode me ajudar?

Link para o comentário
Compartilhar em outros sites

a SDL é feita em C e usa os argumentos da função main para fazer algumas inicializações,então ela redefine(substitui)a função(o nome) main do programa principal para o simbolo SDL_main,esse simbolo(SDL_main)depois é definido como uma função main com linkagem C "SDL_main(int argc,char *argv[])"

 

então se voce chama "main()" sem argumentos,nao tem como a SDL substituir por "SDL_main(int argc,char *argv[])",porque ela nao vai achar a essa declaração e em algum momento quando a declaração SDL_main for vista pela biblioteca vai dar erro,isso é uma garantia que a biblioteca pra que todas as inicializações nela sejam feitas corretamente,é mais ou menos isso,nao sei explicar muito bem

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...