• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

bin

pogramar sdl com minGW

5 mensagens neste tópico

bem e gostava de saber como se programa sdl com o minGW http://www.mingw.org/

eu ja compilar um código escrito em c nele utilizando o g++

segundo a pagina deles http://www.libsdl.org/ tem que compilar o código para funcionar.

mas quando compilo ele da erros ( nao reconhecem as funçoes do sdl) :P

mingw32-g++ -I d:\MinGW\include\SDL -L D:\AKUA -o carlos myproject.o
myproject.o:myproject.cpp:(.text+0x1a): undefined reference to `SDL_Init'
myproject.o:myproject.cpp:(.text+0x24): undefined reference to `SDL_GetError'
myproject.o:myproject.cpp:(.text+0x5d): undefined reference to `SDL_Quit'
/mingw/lib/libmingw32.a(main.o):main.c:(.text+0x104): undefined reference to `Wi
nMain@16'
collect2: ld returned 1 exit status

eu usso python para aceder os pogramas do minGW

# make a c++

import os

f_conf=os.getcwd( ) # dir actual 

#codigo xD

cmd2=("mingw32-g++ -I d:\MinGW\include\SDL -L D:\AKUA -c myproject.cpp")
os.system(cmd2)
os.system("pause")
cmd2=("mingw32-g++ -I d:\MinGW\include\SDL -L D:\AKUA -o carlos myproject.o")
print cmd2
#exe
os.system(cmd2)
os.system("pause")

o pograma que esta iniciar

#include <SDL\SDL.h>   /* All SDL App's need this */
#include <stdio.h>

int main( int argc, char* args[] )
    
    printf("Initializing SDL.\n");
    
    /* Initialize defaults, Video and Audio */
    if((SDL_Init(SDL_INIT_VIDEO|SDL_INIT_AUDIO)==-1)) { 
        printf("Could not initialize SDL: %s.\n", SDL_GetError());
        exit(-1);
    }

    printf("SDL initialized.\n");
    printf("Quiting SDL.\n");
    /* Shutdown all subsystems */
    SDL_Quit();
    printf("Quiting....\n");
    exit(0);
}

alguem sabe ??? onde esta o erro

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se usasses Code::Blocks podia ajudar mais porque é o que eu uso para C++ ( e SDL) :P

Segundo o que li, no teu caso, os files deviam estar organizados assim:

Tudo o que está na pasta "lib" dentro do download do SDL deve ir para: D:\MinGW\lib

Tudo o que está na pasta "include" dentro do download do SDL deve ir para: D:\MinGW\include

Copia o "SDL.dll" da pasta bin para a pasta WINDOWS\system32

Depois experimenta usar o seguinte comando:

g++ -o myprogram.exe mysource.cpp -lmingw32 -lSDLmain -lSDL

(adaptado ao teu programa claro :))

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

perigoso não é. Permite que os programas que cries em SDL no teu pc não tenham todos de andar com o SDL.dll atrás.

Tens é de te lembrar de o meter em aplicações que disponhas para download porque as outras pessoas poderão n o ter ;P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

# make a G++ (windows only)
# v: 0.1.03A
# lissesa glp
#nome: akua view

import os

# directorias(alte)
f_exe=os.getcwd( ) # dir actual
f_conf_A=(f_exe + "\SCR")# directoria dos executaveis
f_conf_B=(f_exe + "\SCR\lib")# directoria das bibliotecas(do sdl)
f_confC=(f_exe + "\SCR\INC")# directoria dos includes
f_conf_D=(f_exe + "\SCR\OUT")# directoria da saida dos executaveis
print f_exe # falta comocar f_conf

#------------------nao alterar----------------------------------

conf=( "-L" + f_conf_A + " -L" +  f_conf_B + " -lmingw32 -lSDLmain -lSDL")
print conf

os.system("pause")
os.chdir(f_conf_A) # muda a directoria de A 
print f_conf_A

cmd2=("g++ -o "+f_conf_D+"\AKUA.exe ini.cpp "+ conf)#comfiguracao do g++
#cmd2=("g++ "+f_confC +"\ini.cpp -o akua.exe")
os.system(cmd2)
print cmd2 

os.system("pause")

bem o codigo ja esta corrigido  ;)

bem agora ja posso continuar como o meu projecto

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora