Procurar
Últimos assuntos
» PERGUNTA: ALGUÉM AINDA USANDO SEU DINGOO? SE TIVEREM POSTEM FOTOS por Andy_Devil Ter 07 maio 2024, 8:43 pm
» Instalando Opendingux ou Dingux em 2019
por Matheus290 Sáb 08 maio 2021, 10:21 pm
» Duvida Powkiddy Q80
por retrogamer87 Sáb 18 Jul 2020, 4:19 pm
» Duvidas RS97
por retrogamer87 Sáb 18 Jul 2020, 7:59 am
» dingoo ligando sozinho
por lucas_tamp Qui 09 Jan 2020, 7:31 pm
» Case para raspberry pi zero da Retroflag
por filipe0606 Sex 19 Abr 2019, 7:42 pm
» CoolBoy RS-97: Um portátil com Dingux que custa menos de 50 dólares!
por Tarquineos Seg 09 Jul 2018, 3:48 pm
» Review GPD XD
por ricardo85x Dom 08 Jul 2018, 12:53 pm
» Peças de reposição para dingoo a320 em 2018
por corey Ter 03 Jul 2018, 11:29 am
» [Vendo] Mouse Gamer R$150 - SSD R$420
por eduardo.oc Qui 03 maio 2018, 12:53 am
» ATARI VCS-console novo da Atari depois de anos.
por Andre Pedreira dos Santos Sex 23 Mar 2018, 7:20 pm
» Boteco do Boteco
por Andre Pedreira dos Santos Qua 21 Fev 2018, 11:26 pm
» Onde conseguir um bom portátil "retrogame"?
por guilhoboy Qua 14 Fev 2018, 9:57 am
» [Android] Pacote de Emuladores Android (07-02-2017)
por willk Sex 29 Dez 2017, 1:38 am
» JXD S7300b - Temperatura elevada (será que é a bateria esquentando)?
por Dcnautamarvete Sáb 16 Dez 2017, 12:52 pm
Tutorial – Compilando Seu Primeiro Aplicativo para Dingux
+9
Matheus290
Aston X
lucki_vibrato
Dante_moraes
flpstr
ibm 5155
Ezequiel
gabuga
Shin-NiL
13 participantes
Fórum DingooBR :: <> DINGOO TECHNOLOGY / DINGOO DIGITAL / GEMEITECH <> :: • DINGOO A320 / A330 DT :: Dingux & OpenDingux :: Tutoriais
Página 1 de 4
Página 1 de 4 • 1, 2, 3, 4
Tutorial – Compilando Seu Primeiro Aplicativo para Dingux
Tutorial – Compilando Seu Primeiro Aplicativo para Dingux
Apresentação
Este é um pequeno tutorial para quem deseja compilar seus próprios programas para o Dingoo-linux, mas não sabe por onde começar. Ao final dele você obterá um simples executável que exibe a frase “Ola Dingoo!”.
Até o momento só é possível programar usando a linguagem C/C++, portanto se você pretende se aprofundar no assunto, aconselho procurar um bom livro/tutorial de C e depois C++. Por outro lado, se você já possui conhecimento na linguagem, se sentirá em casa.
Até o momento só é possível programar usando a linguagem C/C++, portanto se você pretende se aprofundar no assunto, aconselho procurar um bom livro/tutorial de C e depois C++. Por outro lado, se você já possui conhecimento na linguagem, se sentirá em casa.
EDIT (04/10/11): Quando este mini tutorial foi escrito, a única opção em linguagem de programação era C/C++, se você é iniciante em programação ou mesmo não quer mexer com tal linguagem, recomendo a leitura do seguinte tutorial: http://www.shinnil.blogspot.com.br/2011/11/tutorial-aperitivo-programando-com-love.html que usa o engine love com linguagem lua, muito mais fácil de aprender e configurar.
Pré-requisito: uma distribuição linux instalada, uma vez que só existe toolchain compilada para essa plataforma. Uma alternativa para quem só usa windows, ou outro sistema, seria instalar o sistema operacional do pinguim em uma máquina virtual, já fiz isso e funciona muito bem. Recomendo o uso do Ubuntu 9.10, pois é distro que estou usando e até agora não tive problemas.
Primeiro passo: fazer o download do toolchain do Booboo, o desenvolvedor do Dingoo-linux, para um diretório qualquer. No nosso exemplo eu crio um diretório chamado “downloads” no meu home e baixo o arquivo com o wget. Para isso basta executar os seguintes comandos no shell:
mkdir downloadscd downloads
wget http://dingoo-linux.googlecode.com/files/dingux_toolchain_20091022.tar.bz2
Segundo passo: extrair o conteúdo do pacote tar.bz2 para o diretório /opt/.
sudo tar xjvf dingux_toolchain_20091022.tar.bz2 -C /opt/Terceiro passo: editar o arquivo .profile, localizado no diretório /home/usuario/, para exportar as variáveis de ambiente necessárias para compilação.
cd ~gedit .profile
Adicionar as seguintes linhas no final do arquivo, depois salvar:
- Código:
export DINGUX_TOOLCHAIN=/opt/mipsel-linux-uclibc
export DINGUX_TOOLCHAIN_PREFIX=$DINGUX_TOOLCHAIN/usr
export PATH=$PATH:$DINGUX_TOOLCHAIN/usr/bin
Executar o seguinte comando para carregar as alterações no shell atual:
source .profileQuarto passo: com o ambiente pronto, agora basta criarmos o nosso arquivo com código-fonte. Nós iremos criar um arquivo chamado teste.c usando o gedit.
gedit teste.cDigitar o seguinte código e salvar o arquivo:
- Código:
#include <stdio.h>
int main(int argc, char** argv)
{
printf("Ola Dingoo!\n");
sleep(5);
return 0;
}
Quinto passo: compilar o programa.
mipsel-linux-gcc teste.c -o teste.dgeSe tudo ocorreu bem, você agora terá seu binário para Dingux compilado, agora basta copiá-lo para seu minisd e configurar seu lançador de aplicativos favorito (a maioria usa dmenu) para executá-lo.
Última edição por Shin-NiL em Qui 17 Jan 2013, 7:12 pm, editado 6 vez(es) (Motivo da edição : Adicionado link para tutorial nlove)
Re: Tutorial – Compilando Seu Primeiro Aplicativo para Dingux
Primeiro parabens, ótima iniciativa isso demitifica um pouco a parte de desenvolvimento pra o dingux.....
e aproveitando....voce sabe as limitaçõe para um aplicativo feito para linux x86 rode no dingux ,seria só a capacidade de processamento e a "interface de entrada" do dingo ??
Pois se for este o caso, existem varios games leves que poderiam ser portados facilmente...
e aproveitando....voce sabe as limitaçõe para um aplicativo feito para linux x86 rode no dingux ,seria só a capacidade de processamento e a "interface de entrada" do dingo ??
Pois se for este o caso, existem varios games leves que poderiam ser portados facilmente...
gabuga- User Level Zero
- Avisos :
Mensagens : 6
Data de inscrição : 04/01/2010
Re: Tutorial – Compilando Seu Primeiro Aplicativo para Dingux
gabuga escreveu:
voce sabe as limitaçõe para um aplicativo feito para linux x86 rode no dingux ,seria só a capacidade de processamento e a "interface de entrada" do dingo ??
Pois se for este o caso, existem varios games leves que poderiam ser portados facilmente...
Olá gabuga,
eu me faria as seguintes perguntas antes de pensar em portar um aplicativo para o Dingoo:
- Qual é a configuração mínima necessária para rodar o aplicativo (RAM e processamento)?
- O código-fonte é aberto?
- É possível adaptar os controles do aplicativo aos controles do Dingoo?
- De quais bibliotecas o aplicativo depende para compilar?
- Essas bibliotecas já foram portadas para o Dingux?
- Se não foram portadas, é possível portá-las?
Dependendo das respostas veria se vale a pena ou não sujar as mãos com o código
Como você pode ver, a dificuldade depende da soma de alguns fatores, dentre eles os citados por você. Mas isso não é tão desanimador, pois existem muitos jogos que respondem a todas essas questões favoravelmente, dessa forma muitos deles ainda serão portados pro Dingoo.
Re: Tutorial – Compilando Seu Primeiro Aplicativo para Dingux
Editado!!!
Consegui, o arquivo .profile fica na pasta /home/user , então eu fui pelo caminho e consegui, o 4º passo na hora de compilar é a coisa mágica, nenhuma complicação nenhum stress!! Shin-Nil, muito foda isso que você fez!! Um extremo noob de linux conseguiu compilar uma parada pro dingux!!!!
Vlw!!
pra quem quiser testar, é o programa exemplo ai, só mudei a frase dele:
http://testes-no-dingux.googlecode.com/files/teste.dge
veja meu texto ontem a noite:
ps 1:Unbunto 9.04 rodando na virtual box
ps 2: 2:15 da manhã, to com muito sono =P
Consegui, o arquivo .profile fica na pasta /home/user , então eu fui pelo caminho e consegui, o 4º passo na hora de compilar é a coisa mágica, nenhuma complicação nenhum stress!! Shin-Nil, muito foda isso que você fez!! Um extremo noob de linux conseguiu compilar uma parada pro dingux!!!!
Vlw!!
pra quem quiser testar, é o programa exemplo ai, só mudei a frase dele:
http://testes-no-dingux.googlecode.com/files/teste.dge
veja meu texto ontem a noite:
Eu travei no 3º passo pq o comando cd ~ da um erro de "OLDPWD não configurado", pelo google eu vi que isso de OLDPWD é uma váriavel que guarda o diretório anterior, então provavelmente o "cd ~" nesse caso teria que apontar para o diretório onde esta o arquivo em questão.
Se você poder postar uma solução pra mim, (e também o caminho diretório se for o caso, ou sei o que seja, não sei nem o que eu to falando), mas enfim o toolchain está instalado, deixo claro que isso é tudo novo para mim, e agradeço pela ajuda, desculpe pela dúvida extramamente noob, o pré-requisito deveria ser linux/c/c++, mas como sei um quase nada de c/c++ me aventurei a tentar
Meu problema é de linux, então se eu resolver antes da resposta eu venho aqui e edito.
ps 1:Unbunto 9.04 rodando na virtual box
ps 2: 2:15 da manhã, to com muito sono =P
Re: Tutorial – Compilando Seu Primeiro Aplicativo para Dingux
Parabéns Ezequiel, pelo resultado final, mas principalmente pela persistência
Fico extremamente feliz por ter ajudado alguém a "programar" pro Dingoo, assim como fiquei quando consegui rodar meu primeiro programa.
Sobre o problema que você teve, achei estranho, pois pelo que eu saiba o alias para retornar ao diretório anterior seria " - " e não " ~ ". O " ~ " é um alias para o diretório home do usuário atual. Outra coisa é que sempre usei a distro Ubuntu e nunca vi esses aliases não estarem configurados. Mas enfim, quem tiver o mesmo problema deve fazer o que você fez, editar o arquivo .profile localizado no home do usuário atual, no seu exemplo, /home/ezequiel/.profile
Realmente, saber um pouquinho de linux ajuda. Espero que o tutorial sirva de ponto de partida para as pessoas curiosas e dispostas como você percebam que esse negócio de programar pro Dingoo não é uma coisa tão complicada como poderia parecer.
Até mais!
Fico extremamente feliz por ter ajudado alguém a "programar" pro Dingoo, assim como fiquei quando consegui rodar meu primeiro programa.
Sobre o problema que você teve, achei estranho, pois pelo que eu saiba o alias para retornar ao diretório anterior seria " - " e não " ~ ". O " ~ " é um alias para o diretório home do usuário atual. Outra coisa é que sempre usei a distro Ubuntu e nunca vi esses aliases não estarem configurados. Mas enfim, quem tiver o mesmo problema deve fazer o que você fez, editar o arquivo .profile localizado no home do usuário atual, no seu exemplo, /home/ezequiel/.profile
Realmente, saber um pouquinho de linux ajuda. Espero que o tutorial sirva de ponto de partida para as pessoas curiosas e dispostas como você percebam que esse negócio de programar pro Dingoo não é uma coisa tão complicada como poderia parecer.
Até mais!
Re: Tutorial – Compilando Seu Primeiro Aplicativo para Dingux
Obrigado pelas resposta.
Shin-NiL, concordo que todos os pontos que voce citou são relevandes.
No caso penso que a maior contribuição para os ports seria portas as libs (bibliotecas)para o dingo, e nisso eu posso ajudar, tenho esperiencia em portar libs do linux para o solaris, pois trabalho com desenvolvimento de sistemas em unix, assim quando precisamos portar alguma aplicação gnu-linux para solaris (o OS base nosso aqui), muitas vezes temos que portar suas libs.
Se voces soberem que grupo esta desenvolvendo este trabalho, por favor me falem para eu entrar em contato e ver no que posso contribuir.
Valeu!
Shin-NiL, concordo que todos os pontos que voce citou são relevandes.
No caso penso que a maior contribuição para os ports seria portas as libs (bibliotecas)para o dingo, e nisso eu posso ajudar, tenho esperiencia em portar libs do linux para o solaris, pois trabalho com desenvolvimento de sistemas em unix, assim quando precisamos portar alguma aplicação gnu-linux para solaris (o OS base nosso aqui), muitas vezes temos que portar suas libs.
Se voces soberem que grupo esta desenvolvendo este trabalho, por favor me falem para eu entrar em contato e ver no que posso contribuir.
Valeu!
gabuga- User Level Zero
- Avisos :
Mensagens : 6
Data de inscrição : 04/01/2010
Re: Tutorial – Compilando Seu Primeiro Aplicativo para Dingux
Obrigado Shin-Nil, realmente seu tutorial foi muito claro, e limpo, você tem uma didática muito boa, acredito que pelo motivo de existirem caras como você é que muitos aprendem programação mais sozinhos do que na "Acadêmia".
Um pedido (lá vem..) seria voê postar um programa exemplo nos estilo de, ler os botões do dingoo, e imprimir o valor na tela, acho que com isso já é possivel fazer algum pequeno aplicativo "usual" Valeu![/quote]
Não sei se é possível gabuga, mas seria lindo ver a allegro rodando no dingux, não sei as limitações, sei que a allegro não é a melhor biblioteca, e se interferiria no desempenho do sistema a adição de libs, mas a allegro é linda =D
Um pedido (lá vem..) seria voê postar um programa exemplo nos estilo de, ler os botões do dingoo, e imprimir o valor na tela, acho que com isso já é possivel fazer algum pequeno aplicativo "usual" Valeu![/quote]
Obrigado pelas resposta.
Shin-NiL, concordo que todos os pontos que voce citou são relevandes.
No caso penso que a maior contribuição para os ports seria portas as libs (bibliotecas)para o dingo, e nisso eu posso ajudar, tenho esperiencia em portar libs do linux para o solaris, pois trabalho com desenvolvimento de sistemas em unix, assim quando precisamos portar alguma aplicação gnu-linux para solaris (o OS base nosso aqui), muitas vezes temos que portar suas libs.
Se voces soberem que grupo esta desenvolvendo este trabalho, por favor me falem para eu entrar em contato e ver no que posso contribuir.
Não sei se é possível gabuga, mas seria lindo ver a allegro rodando no dingux, não sei as limitações, sei que a allegro não é a melhor biblioteca, e se interferiria no desempenho do sistema a adição de libs, mas a allegro é linda =D
Re: Tutorial – Compilando Seu Primeiro Aplicativo para Dingux
Olá Ezequiel, não sei se ajuda, mas segue um exemplo não só de detecção de botões pressionados, mas também de carregamento de imagem no formato bmp. Tudo graças à biblioteca SDL
Eu tentei deixar o código o mais didático possível, por isso escrevi o mínimo necessário para o programa funcionar. Num programa de verdade, deveríamos fazer várias checagens, como se a imagem realmente foi encontrada, por exemplo, mas creio que não seja interessante focar nisso agora.
Para compilar, usaremos o mesmo comando usando no tutorial, a única diferença será a instrução -lSDL que serve para linkar a SDL ao nosso executável.
mipsel-linux-gcc nomedoarquivo.c -o nomedoarquivo.dge -lSDL
Gabuga, acho que o Allegro seria uma ótima mesmo. Bem lembrado Ezequiel!
Ah, a imagem que usei foi essa: , mas pode ser usada qualquer um bmp, menor que a tela, claro. Não se esqueça de copiar para seu microsd no mesmo diretório do executável.
- Código:
#include <SDL/SDL.h> //para uso das funcoes SDL
#define LARGURA 320 //largura da janela do Dingoo
#define ALTURA 240 //altura da janela do Dingoo
#define BPP 16 //define o número de bits por pixel
int main(int argc, char** argv) //funcao principal
{
SDL_Surface* tela; //representa a tela do Dingoo
SDL_Surface* imagem; //representa nossa imagem
SDL_Rect rectImagem; //representa o retangulo de nossa imagem
SDL_Event evento; //um evento a ser gerenciado pela SDL
int fim = 0; //indica o fim do programa
SDL_Init(SDL_INIT_VIDEO); //inicializa o subsistema de video da SDL
SDL_ShowCursor(SDL_DISABLE); //não exibe cursor do mouse
tela = SDL_SetVideoMode(LARGURA, ALTURA, BPP, SDL_SWSURFACE); //cria a tela
imagem = SDL_LoadBMP("shinnil.bmp");//carrega a imagem do minisd
rectImagem.x = 0; //zera as coordenadas x e y da imagem
rectImagem.y = 0;
while(!fim) //rodaremos até que não seja o fim
{
while(SDL_PollEvent(&evento)) //enquanto existir evento
{
if( evento.type == SDL_KEYDOWN ) { //verifica se um botão foi pressionado
switch( evento.key.keysym.sym )
{
//move-se 5 pixels, dependendo da direcao
case SDLK_LEFT: rectImagem.x = rectImagem.x - 5;
break;
case SDLK_RIGHT: rectImagem.x = rectImagem.x + 5;
break;
case SDLK_UP: rectImagem.y = rectImagem.y - 5;
break;
case SDLK_DOWN: rectImagem.y = rectImagem.y + 5;
break;
case SDLK_ESCAPE: printf("FIM\n"); //sai se select for pressionado
fim = 1;
break;
}
}
}
SDL_FillRect(tela,0,0); //preenche o fundo de preto
SDL_BlitSurface(imagem,0,tela,&rectImagem); //"cola" a imagem sobre a tela
SDL_Flip(tela); //atualiza a tela
}
SDL_Quit(); //encerra a SDL
return 0;
}
Eu tentei deixar o código o mais didático possível, por isso escrevi o mínimo necessário para o programa funcionar. Num programa de verdade, deveríamos fazer várias checagens, como se a imagem realmente foi encontrada, por exemplo, mas creio que não seja interessante focar nisso agora.
Para compilar, usaremos o mesmo comando usando no tutorial, a única diferença será a instrução -lSDL que serve para linkar a SDL ao nosso executável.
mipsel-linux-gcc nomedoarquivo.c -o nomedoarquivo.dge -lSDL
Gabuga, acho que o Allegro seria uma ótima mesmo. Bem lembrado Ezequiel!
Ah, a imagem que usei foi essa: , mas pode ser usada qualquer um bmp, menor que a tela, claro. Não se esqueça de copiar para seu microsd no mesmo diretório do executável.
Última edição por Shin-NiL em Sex 08 Jan 2010, 6:35 pm, editado 1 vez(es) (Motivo da edição : Faltou comando para compilação)
Re: Tutorial – Compilando Seu Primeiro Aplicativo para Dingux
Obrigado pelo exemplo Shin-Nil, porém eu tentei compilar e ele apresentou o seguinte erros (abaixo), eu pensei que fosse a SDL não instalada, então entrei como root (este que não existia também) e instalei ela:
Para quem estiver no Ubunto é o seguinte: (eu achei no google)
apt-get install libsdl1.2-dev
beleza, instalado, só que mesmo assim não deu certo =x, então voltei aqui para postar a dúvida e vi que que tinha que adicionar o -ISDL, (eu tinha salvo o tutorial em Doc, na minha versão não tinha esse edit) então pensei aha!, mas aha nada, (aha só aquela banda lá mesmo) =x
eu dei uma pesquisada por esse erro, e tentei os métodos citados nesse tópico
http://www.daniweb.com/forums/thread92950.html#
porém nada deu certo.
Para quem estiver no Ubunto é o seguinte: (eu achei no google)
apt-get install libsdl1.2-dev
beleza, instalado, só que mesmo assim não deu certo =x, então voltei aqui para postar a dúvida e vi que que tinha que adicionar o -ISDL, (eu tinha salvo o tutorial em Doc, na minha versão não tinha esse edit) então pensei aha!, mas aha nada, (aha só aquela banda lá mesmo) =x
eu dei uma pesquisada por esse erro, e tentei os métodos citados nesse tópico
http://www.daniweb.com/forums/thread92950.html#
porém nada deu certo.
- Código:
ezequiel@ezequiel-desktop:~$ mipsel-linux-gcc testex.c -o testex.dge
/tmp/cctDG2Mj.o: In function `main':
testex.c:(.text+0x2c): undefined reference to `SDL_Init'
testex.c:(.text+0x44): undefined reference to `SDL_ShowCursor'
testex.c:(.text+0x68): undefined reference to `SDL_SetVideoMode'
testex.c:(.text+0x90): undefined reference to `SDL_RWFromFile'
testex.c:(.text+0xac): undefined reference to `SDL_LoadBMP_RW'
testex.c:(.text+0x23c): undefined reference to `SDL_PollEvent'
testex.c:(.text+0x264): undefined reference to `SDL_FillRect'
testex.c:(.text+0x28c): undefined reference to `SDL_UpperBlit'
testex.c:(.text+0x2a4): undefined reference to `SDL_Flip'
testex.c:(.text+0x2c8): undefined reference to `SDL_Quit'
collect2: ld returned 1 exit status
ezequiel@ezequiel-desktop:~$ mipsel-linux-gcc testex.c -o testex.dge -ISDL
/tmp/cckENWlH.o: In function `main':
testex.c:(.text+0x2c): undefined reference to `SDL_Init'
testex.c:(.text+0x44): undefined reference to `SDL_ShowCursor'
testex.c:(.text+0x68): undefined reference to `SDL_SetVideoMode'
testex.c:(.text+0x90): undefined reference to `SDL_RWFromFile'
testex.c:(.text+0xac): undefined reference to `SDL_LoadBMP_RW'
testex.c:(.text+0x23c): undefined reference to `SDL_PollEvent'
testex.c:(.text+0x264): undefined reference to `SDL_FillRect'
testex.c:(.text+0x28c): undefined reference to `SDL_UpperBlit'
testex.c:(.text+0x2a4): undefined reference to `SDL_Flip'
testex.c:(.text+0x2c8): undefined reference to `SDL_Quit'
collect2: ld returned 1 exit status
Re: Tutorial – Compilando Seu Primeiro Aplicativo para Dingux
Olá Ezequiel, desculpe pela falha, postei o código e só depois percebi que não havia colocado o comando pra compilação
O erro está acontecendo porque você está citando funções da SDL no código, mas o programa não a está localizando, devido a um erro de linkagem. Estou explicando isso porque é algo comum de acontecer, você verá muito esse tipo de erro de compilação
O simples detalhe é que a instrução pra linkagem é -lSDL, é um "l" minúsculo de library e não um "I", isso indica que você está usando a library SDL.
Você não precisaria ter baixado a SDL via apt-get pro Ubuntu, pois ela já encontra-se disponível no toolchain, que você baixou, em um diretório separado. Na verdade, são coisas diferentes e não são compatíveis entre si. Porém não afeta em nada na compilação de código pro Dingux, a única vantagem que você tem agora é que pode compilar códigos SDL para o seu Ubuntu também.
Até mais!
O erro está acontecendo porque você está citando funções da SDL no código, mas o programa não a está localizando, devido a um erro de linkagem. Estou explicando isso porque é algo comum de acontecer, você verá muito esse tipo de erro de compilação
O simples detalhe é que a instrução pra linkagem é -lSDL, é um "l" minúsculo de library e não um "I", isso indica que você está usando a library SDL.
Você não precisaria ter baixado a SDL via apt-get pro Ubuntu, pois ela já encontra-se disponível no toolchain, que você baixou, em um diretório separado. Na verdade, são coisas diferentes e não são compatíveis entre si. Porém não afeta em nada na compilação de código pro Dingux, a única vantagem que você tem agora é que pode compilar códigos SDL para o seu Ubuntu também.
Até mais!
Re: Tutorial – Compilando Seu Primeiro Aplicativo para Dingux
hehe agora rodou!!
você poderia postar mais uma coisinha, os valores de todos os botões,
SDLK_?? (você deve ter todos mapeados ai ).
pelo que andei lendo eles recomendam começar por um jogo de tabuleiro, vou procurar mais a respeito.
ah, outra coisa, isso é uma dúvida de compilação em linux, estou criando um programa qualquer, e faça por exemplo, um score.h (com uma rotina matemática pra fazer um raking), como eu incluo essa "lib" no meu programa, além do trivial de #include eu devo deixar em algum diretório especifico, compilar com algo a mais no comando?, eu não tentei ainda mas seria bom saber já.
Obrigado!!
você poderia postar mais uma coisinha, os valores de todos os botões,
SDLK_?? (você deve ter todos mapeados ai ).
pelo que andei lendo eles recomendam começar por um jogo de tabuleiro, vou procurar mais a respeito.
ah, outra coisa, isso é uma dúvida de compilação em linux, estou criando um programa qualquer, e faça por exemplo, um score.h (com uma rotina matemática pra fazer um raking), como eu incluo essa "lib" no meu programa, além do trivial de #include
Obrigado!!
Re: Tutorial – Compilando Seu Primeiro Aplicativo para Dingux
Aqui está a lista com mapeamento dos botões do Dingoo, postado por gp2xs no dingoonity:
Up -> SDLK_UP 273
Down -> SDLK_DOWN 274
Left -> SDLK_LEFT 276
Right -> SDLK_RIGHT 275
A -> SDLK_LCTRL 306
B -> SDLK_LALT 308
X -> SDLK_SPACE 32
Y -> SDLK_LSHIFT 304
L -> SDLK_TAB 9
R -> SDLK_BACKSPACE 8
Select -> SDLK_ESCAPE 27
Start -> SDLK_RETURN 13
Sobre a segunda pergunta, não sei se entendi bem, mas vamos lá.
Os arquivos .h (headers), por convenção, contém geralmente apenas as definições das funções (protótipos), macros ou variáveis externas. A lógica do código em si encontra-se no arquivo .c.
Se você criou um biblioteca, que está distribuída em score.h e score.c, e deseja usar funções deste código, basta usar o #include "score.h", desde que estes arquivos estejam no mesmo diretório do seu projeto atual. Somente para bibliotecas compiladas você precisaria adicionar no comando de compilação o parâmetro -lNomedalib.
Não sei se era essa sua dúvida, mas espero ter ajudado.
Até mais!
Up -> SDLK_UP 273
Down -> SDLK_DOWN 274
Left -> SDLK_LEFT 276
Right -> SDLK_RIGHT 275
A -> SDLK_LCTRL 306
B -> SDLK_LALT 308
X -> SDLK_SPACE 32
Y -> SDLK_LSHIFT 304
L -> SDLK_TAB 9
R -> SDLK_BACKSPACE 8
Select -> SDLK_ESCAPE 27
Start -> SDLK_RETURN 13
Sobre a segunda pergunta, não sei se entendi bem, mas vamos lá.
Os arquivos .h (headers), por convenção, contém geralmente apenas as definições das funções (protótipos), macros ou variáveis externas. A lógica do código em si encontra-se no arquivo .c.
Se você criou um biblioteca, que está distribuída em score.h e score.c, e deseja usar funções deste código, basta usar o #include "score.h", desde que estes arquivos estejam no mesmo diretório do seu projeto atual. Somente para bibliotecas compiladas você precisaria adicionar no comando de compilação o parâmetro -lNomedalib.
Não sei se era essa sua dúvida, mas espero ter ajudado.
Até mais!
Última edição por Shin-NiL em Sex 25 Mar 2011, 6:51 pm, editado 1 vez(es) (Motivo da edição : Correção do código referente ao SDLK_UP)
Re: Tutorial – Compilando Seu Primeiro Aplicativo para Dingux
Parabens pelo tutorial, bem eu que não sei nada sobre programação vo ve o que é que sai (espero que o que eu sei de acs me ajude com isto).
Como no seu exemplo eu vo mostra o que é que eu entendi
Bem talvez vendo o que cada código fassa eu consiga fazer algo.
Como no seu exemplo eu vo mostra o que é que eu entendi
- Spoiler:
- #include
//incluir codigos, não lembro bvem o nome.
int main(int argc, char** argv) //? conheço mais por script 1 start. (void)..
{ //Inicio do script
printf("Ola Dingoo!\n"); //;indica onde termina tal ação
sleep(5);
return 0; //entendi, mas eu pensava que não precisava disto
}//fim do script
Bem talvez vendo o que cada código fassa eu consiga fazer algo.
Re: Tutorial – Compilando Seu Primeiro Aplicativo para Dingux
Não conheço ACS, mas parece ser uma linguagem de script. Uma das coisas mais importantes em programação é a lógica, não importa a linguagem. Tendo isso em mente, você será capaz de aprender qualquer linguagem, sintaxe e afins são apenas detalhes
Boa sorte!
Boa sorte!
Re: Tutorial – Compilando Seu Primeiro Aplicativo para Dingux
Acertou Shin-Nil
http://zdoom.org/wiki/ACS
é uma linguagem de script, a qual me familiarizou e muito a forma dele com o c++ (talvez seja derivado dele)
Aqui vai um exemplo de ACS simples
http://zdoom.org/wiki/ACS
é uma linguagem de script, a qual me familiarizou e muito a forma dele com o c++ (talvez seja derivado dele)
Aqui vai um exemplo de ACS simples
- Spoiler:
- #include "zcommon.acs"
script 1 ENTER
{
print(s:"Hello World!");
}
- Spoiler:
- #include "zcommon.acs"
int jd;
script 1 OPEN
{
SetLineSpecial (1,80,8,0,1,0,0);
SetLineSpecial (2,80,8,0,2,0,0);
SetLineSpecial (3,80,8,0,3,0,0);
SetLineSpecial (4,80,8,0,4,0,0);
SetLineSpecial (5,80,10,0,0,0,0);
SetLineSpecial (6,80,12,0,0,0,0);
print (s:"this is dec0n's 1337 zdoom stuff wad thing");
delay (const:35*4);
print (s:"look around. if you want info on what something is or");
delay (const:35*4);
print (s:"how it twas done, hit a skull switch near the thing.");
delay (const:35*4);
print (s:"to get complete info on how all this was done, goto:");
delay (const:35*4);
print (s:"www.doomworld.com/wildman For all your ZDooM needs *g*");
delay (const:35*4);
print (s:"Ignore the horrible map job, i just whipped this up quickly.");
}
script 2 (void)
{
Door_Open (const:2, 32);
Light_Fade (const:1, 240, 32);
delay (const:300);
Door_Close (const:2, 32);
Light_Fade (const:1, 160, 32);
}
script 3 (void)
{
print (s:"this is an effect that makes it looks as if the lite\n'rushes in' from outside.");
delay (const:35*4);
print (s:"done via a script which does Door_Open, Light_Fade, Door_Close, Light_Fade.");
delay (const:35*4);
print (s:"also, try this with fog or colored lighting.");
}
script 4 (void)
{
if (jd==0) {
jd=1;
}
if (jd==3) {
PolyObj_Move (const:1,32,128,128);
jd=4;
}
if (jd==2) {
PolyObj_Move (const:1,32,0,32);
jd=3;
}
if (jd==1) {
PolyObj_Move (const:1,32,128,32);
jd=2;
}
}
script 5 (void)
{
print (s:"i had *a lot* of trouble with this polyobj,\n but somehow i got it working. ");
delay (const:35*4);
print (s:"anyway, this is an example of a 'jammed door'");
delay (const:35*4);
print (s:"a variable called jd shows how many times the door has been used");
delay (const:35*4);
print (s:"using if statements, the door will move a different way each time\nand jd is increased.");
delay (const:35*4);
print (s:"until the door is in its final position.");
}
script 6 (void)
{
int i;
Thing_Projectile (1,53,0,48,0);
delay (const:30);
while (i < 10) {
i++;
Thing_ProjectileGravity (1,130,0,64,0);
delay (const:30);
}
Thing_ProjectileGravity (1,22,0,48,0);
}
script 7 (void)
{
print (s:"this is sort of a tube effect");
delay (const:35*4);
print (s:"it is done by Thing_ProjectileGravity + Thing_Projectile functions.");
}
int but1;
int but2;
int but3;
int but4;
script 8 (int but)
{
if (but==1) {
if (but1==1) {
SetLineTexture (1,SIDE_FRONT,TEXTURE_MIDDLE,"SW1GRAY1");
but1=0;
SetLineSpecial (1,80,8,0,1,0,0);
}
else {
SetLineTexture (1,SIDE_FRONT,TEXTURE_MIDDLE,"SW2GRAY1");
but1=1;
SetLineSpecial (1,80,8,0,1,0,0);
}
if (but1==0 && but2==1 && but3==0 && but4==1) {
print (s:"Password accepted.")
Door_Open (const:3,32);
SetLineSpecial (1,0,0,0,0,0,0);
SetLineSpecial (2,0,0,0,0,0,0);
SetLineSpecial (3,0,0,0,0,0,0);
SetLineSpecial (4,0,0,0,0,0,0);
}
terminate;
}
if (but==2) {
if (but2==1) {
SetLineTexture (2,SIDE_FRONT,TEXTURE_MIDDLE,"SW1GRAY1");
but2=0;
SetLineSpecial (2,80,8,0,2,0,0);
}
else {
SetLineTexture (2,SIDE_FRONT,TEXTURE_MIDDLE,"SW2GRAY1");
but2=1;
SetLineSpecial (2,80,8,0,2,0,0);
}
if (but1==0 && but2==1 && but3==0 && but4==1) {
print (s:"Password accepted.")
Door_Open (const:3,32);
SetLineSpecial (1,0,0,0,0,0,0);
SetLineSpecial (2,0,0,0,0,0,0);
SetLineSpecial (3,0,0,0,0,0,0);
SetLineSpecial (4,0,0,0,0,0,0);
}
terminate;
}
if (but==3) {
if (but3==1) {
SetLineTexture (3,SIDE_FRONT,TEXTURE_MIDDLE,"SW1GRAY1");
but3=0;
SetLineSpecial (3,80,8,0,3,0,0);
}
else {
SetLineTexture (3,SIDE_FRONT,TEXTURE_MIDDLE,"SW2GRAY1");
but3=1;
SetLineSpecial (3,80,8,0,3,0,0);
}
if (but1==0 && but2==1 && but3==0 && but4==1) {
print (s:"Password accepted.")
Door_Open (const:3,32);
SetLineSpecial (1,0,0,0,0,0,0);
SetLineSpecial (2,0,0,0,0,0,0);
SetLineSpecial (3,0,0,0,0,0,0);
SetLineSpecial (4,0,0,0,0,0,0);
}
terminate;
}
else {
if (but4==1) {
SetLineTexture (4,SIDE_FRONT,TEXTURE_MIDDLE,"SW1GRAY1");
but4=0;
SetLineSpecial (4,80,8,0,4,0,0);
}
else {
SetLineTexture (4,SIDE_FRONT,TEXTURE_MIDDLE,"SW2GRAY1");
but4=1;
SetLineSpecial (4,80,8,0,4,0,0);
}
if (but1==0 && but2==1 && but3==0 && but4==1) {
print (s:"Password accepted.")
Door_Open (const:3,32);
SetLineSpecial (1,0,0,0,0,0,0);
SetLineSpecial (2,0,0,0,0,0,0);
SetLineSpecial (3,0,0,0,0,0,0);
SetLineSpecial (4,0,0,0,0,0,0);
}
}
}
script 9 (void)
{
print (s:"this is a complicated script which does a 'password' effect.");
delay (const:4*35);
print (s:"hit the buttons until you get the right combination,\nand the door shall open.");
delay (const:4*35);
print (s:"done via setlinespecial and setlinetexture fuctions,");
delay (const:4*35);
print (s:"the script checks to see if the right combination of buttons are on.");
delay (const:4*35);
print (s:"then it opens the door.");
}
script 10 (void)
{
Thing_Projectile (2,127,128,105,0);
delay (const:15);
SetLineTexture (5,SIDE_FRONT,TEXTURE_BOTTOM,"SW1EXIT");
SetLineSpecial (5,80,10,0,0,0,0);
}
script 11 (void)
{
print (s:"this is a turret effect. done via the thing_projectile function");
delay (const:4*35);
print (s:"a delay takes place after a rocket is shot so the player cant");
delay (const:4*35);
print (s:"make a line of death ");
delay (const:4*35);
print (s:"also, with additional scripting, you can do these:");
delay (const:4*35);
print (s:"make it shoot different projectiles,");
delay (const:4*35);
print (s:"make it have limited ammo,");
delay (const:4*35);
print (s:"make it not work after it has been shot.");
}
script 12 (void)
{
DamageThing (255);
DamageThing (255);
print (s:"didn't your mom ever tell you not go through red lasers?")
}
script 13 (void)
{
SetLineSpecial (6,0,0,0,0,0,0);
SetLineTexture (6,SIDE_FRONT,TEXTURE_MIDDLE,"-");
SetLineTexture (6,SIDE_BACK,TEXTURE_MIDDLE,"-");
}
script 14 (void)
{
print (s:"this is a force field effect.\ntexture is from teamtnt's reclaimation. thx!");
delay (const:35*4);
print (s:"the texture is made translucent by a unused line with a TranslucentLine\n special.");
delay (const:35*4);
print (s:"then, using setlinespecial, the lasers are set to run a script");
delay (const:35*4);
print (s:"which does damagething when the player crosses.");
delay (const:35*4);
print (s:"the swicth is set to launch a script");
delay (const:35*4);
print (s:"which erases the line's texture and special.");
}
script 15 (void)
{
print (s:"shoot the reactor!")
}
script 16 (void)
{
int i;
Thing_Destroy (12);
while ( i < 11 ) {
i++;
Thing_Projectile (4,126,128,120,0);
Thing_Projectile (5,126,160,120,0);
Thing_Projectile (4,126,192,120,0);
Thing_Projectile (4,126,224,120,0);
Thing_Projectile (4,126, 0,120,0);
Thing_Projectile (4,126, 32,120,0);
Thing_Projectile (4,126, 64,120,0);
Thing_Projectile (4,126, 96,120,0);
}
Radius_Quake (9,35*5,1,15,14);
Floor_LowerToLowest (13,64);
delay (const:35*11);
print (s:"\cGthanks for playing! things to look for in my next example wad:");
delay (const:35*4);
print (s:"\cHslot machine, \cIhealing station, \cFbreakable glass, \cD'detonation countdown',\n\cAand more!");
delay (const:35*4);
print (s:"\cDThanks to:");
delay (const:35*4);
print (s:"teamtnt, for many hours of dm with reclaimation, and i use one\nof their textures ");
delay (const:35*4);
print (s:"Rick Clark a.k.a. Wildman, for his ZDooM tutorials, which helped me\nand others alot.");
delay (const:35*4);
print (s:"Randy Heit, for the great source port ZDooM and the ZDooM editing faq.");
delay (const:35*4);
print (s:"well, there isn't really any exit, so you have to quit ");
}
script 17 (void)
{
print (s:"this is a simple reactor effect. when the 'reactor' is shot,");
delay (const:35*4);
print (s:"a script is launched which does a Thing_Destroy on the");
delay (const:35*4);
print (s:"cyberdemons, does a radius_quake, and lowers the reactor.");
}
Re: Tutorial – Compilando Seu Primeiro Aplicativo para Dingux
Fiz maquina virtual do ubuntu 6 e nao recomendo vou testar o 9.10
Re: Tutorial – Compilando Seu Primeiro Aplicativo para Dingux
Eu criei da ultima versão e consegui compilar este exemplo sem problemas.
Já o zdoom, eu travei no que fazer.
Já o zdoom, eu travei no que fazer.
Re: Tutorial – Compilando Seu Primeiro Aplicativo para Dingux
Acredito que com o Ubuntu 6 não role mesmo, pois é muito desatualizado. Na época em que escrevi o tutorial estava usando o 9.10 e atualmente estou no 10.4, então nessas versões garanto que funciona.flpstrquerendoumdingoo!!! escreveu:Fiz maquina virtual do ubuntu 6 e nao recomendo vou testar o 9.10
Nesse caso são diversas variáveis que podem estar dando algum problema, primeiro o makefile, se existir, depois bibliotecas e aí vai. No mundo perfeito, para portar um programa bastaria editar o makefile e compilar, porém no mundo real são necessárias inúmeras adaptações.ibm 5155 escreveu:
Eu criei da ultima versão e consegui compilar este exemplo sem problemas.
Já o zdoom, eu travei no que fazer.
Re: Tutorial – Compilando Seu Primeiro Aplicativo para Dingux
Boa Shil Nill
Bom agora eu estou compilando para o dingux pelo windows graças ao tutorial do Science
Bom agora eu estou compilando para o dingux pelo windows graças ao tutorial do Science
Re: Tutorial – Compilando Seu Primeiro Aplicativo para Dingux
Shin-NiL escreveu:Acredito que com o Ubuntu 6 não role mesmo, pois é muito desatualizado. Na época em que escrevi o tutorial estava usando o 9.10 e atualmente estou no 10.4, então nessas versões garanto que funciona.flpstrquerendoumdingoo!!! escreveu:Fiz maquina virtual do ubuntu 6 e nao recomendo vou testar o 9.10Nesse caso são diversas variáveis que podem estar dando algum problema, primeiro o makefile, se existir, depois bibliotecas e aí vai. No mundo perfeito, para portar um programa bastaria editar o makefile e compilar, porém no mundo real são necessárias inúmeras adaptações.ibm 5155 escreveu:
Eu criei da ultima versão e consegui compilar este exemplo sem problemas.
Já o zdoom, eu travei no que fazer.
Cara estou apanhando para instalar o codeblocks para compilar para o WIZ e CAANOO!
vc tem alguma dica?
Dante_moraes- User Level VI
- Avisos :
Mensagens : 1634
Data de inscrição : 14/10/2010
Idade : 36
Localização : Nova Iguaçu-RJ
Re: Tutorial – Compilando Seu Primeiro Aplicativo para Dingux
o que voce está usando linux ou windows?
Re: Tutorial – Compilando Seu Primeiro Aplicativo para Dingux
Eu fiz todos os processos do passo a passo do ubuntu aqui
http://zdoom.org/wiki/Compile_ZDoom_on_Linux
Sera que eu deveria ter pego a mesma versão do zdoom que foi utilizada para explicar isso?
http://zdoom.org/wiki/Compile_ZDoom_on_Linux
Sera que eu deveria ter pego a mesma versão do zdoom que foi utilizada para explicar isso?
Re: Tutorial – Compilando Seu Primeiro Aplicativo para Dingux
flpstrquerendoumdingoo!!! escreveu:o que voce está usando linux ou windows?
tenho o SDK para WINDOWS e LINUX!
Dante_moraes- User Level VI
- Avisos :
Mensagens : 1634
Data de inscrição : 14/10/2010
Idade : 36
Localização : Nova Iguaçu-RJ
Re: Tutorial – Compilando Seu Primeiro Aplicativo para Dingux
è o que eu faço no linux e windowsDante_moraes escreveu:flpstrquerendoumdingoo!!! escreveu:o que voce está usando linux ou windows?
tenho o SDK para WINDOWS e LINUX!
Bom você para em que parte?
Re: Tutorial – Compilando Seu Primeiro Aplicativo para Dingux
Esse negocio de makefile me confundia pois eu acreditava nesse mundo perfeito ai descubri o porque mais eu entendi e peguei a manhaShin-NiL escreveu:Acredito que com o Ubuntu 6 não role mesmo, pois é muito desatualizado. Na época em que escrevi o tutorial estava usando o 9.10 e atualmente estou no 10.4, então nessas versões garanto que funciona.flpstrquerendoumdingoo!!! escreveu:Fiz maquina virtual do ubuntu 6 e nao recomendo vou testar o 9.10Nesse caso são diversas variáveis que podem estar dando algum problema, primeiro o makefile, se existir, depois bibliotecas e aí vai. No mundo perfeito, para portar um programa bastaria editar o makefile e compilar, porém no mundo real são necessárias inúmeras adaptações.ibm 5155 escreveu:
Eu criei da ultima versão e consegui compilar este exemplo sem problemas.
Já o zdoom, eu travei no que fazer.
Página 1 de 4 • 1, 2, 3, 4
Tópicos semelhantes
» Tutorial configurando o toolchain e compilando pelo cygwin para dingux
» [Tutorial] Editando e instalando no DMENU do DINGUX
» [Tutorial] Instalando o Dual Boot/Dingux
» [Tutorial] Dingux / Local
» [Tutorial] Instalação do Dingux no Dingoo A320
» [Tutorial] Editando e instalando no DMENU do DINGUX
» [Tutorial] Instalando o Dual Boot/Dingux
» [Tutorial] Dingux / Local
» [Tutorial] Instalação do Dingux no Dingoo A320
Fórum DingooBR :: <> DINGOO TECHNOLOGY / DINGOO DIGITAL / GEMEITECH <> :: • DINGOO A320 / A330 DT :: Dingux & OpenDingux :: Tutoriais
Página 1 de 4
Permissões neste sub-fórum
Não podes responder a tópicos