Anuncios Google

ya no me sale

este error


 

main.c
d:/devkitPro/homebrew/aassddff/source/main.c: In function 'main':
d:/devkitPro/homebrew/aassddff/source/main.c:76: error: conflicting types for 'i'
d:/devkitPro/homebrew/aassddff/source/main.c:44: error: previous declaration of 'i' was here
d:/devkitPro/homebrew/aassddff/source/main.c:76: warning: unused variable 'i'
make[1]: *** [main.o] Error 1
make: *** [build] Error 2

 


Haora me sale este:


main.c
d:/devkitPro/homebrew/aassddff/source/main.c: In function 'main':
d:/devkitPro/homebrew/aassddff/source/main.c:59: error: expected expression before ')' token
make[1]: *** [main.o] Error 1
make: *** [build] Error 2


y este ya no es de la variable 'i'. ¿Que hago?


Lunes 19 de octubre:

Mirad, si es secesario os dejo el codigo que ay en el apartado del error:


    // Transition to black
   for(i = 0; i > -32; --){
        PA_SetBrightness(0, i);
        PA_SetBrightness(1, i);
        PA_WaitForVBL();          
    }   


Con este codigo me sale error

 


I like:


Anuncios Google

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de sarutoby

Mirad este es el enlace:

http://www.megaupload.com/?d=VRWA9Q8I

Descargaros este archibo e intentad compilarlo vosotros. Si lo conseguis, por favor, avisadme como sea.


I like:

Imagen de sarutoby

Una cosa, que he

modificado un poco la linea de codigo del error y este es el codigo que me sale:


for (i = 0; i > = -31; i--)
    {
        PA_SetBrightness(0, i);
        PA_SetBrightness(1, i);
        PA_WaitForVBL();        
    }

Y aora el error ya no es el de antes, aora es este:

main.c
d:/devkitPro/homebrew/aassddff/source/main.c: In function 'main':
d:/devkitPro/homebrew/aassddff/source/main.c:52: error: expected expression before '=' token
make[1]: *** [main.o] Error 1
make: *** [build] Error 2

Se ve que teniais razon con o de la "i"

Gracias, adios.


I like:

Imagen de exterminator

Ese problema

me lo conozco yo. Parece ser que cuando le pones tres signos matemáticos seguidos a una igualdad, se vuelve loco (no sé si es cosa de C). En el i>=-31; pon entre paréntesis el número (con su signo) para que se compile sin problemas. Así:

i>=(-31);

Salu2


Para recibir ayuda por parte de otros usuarios más rápidamente, recomendamos que pongas títulos descriptivos y no utilices abreviaturas (estilo MSN) en tus post de los foros. Recuerda que accediendo al Manual del perfecto forero y las Normas de la Comunidad aprenderás trucos para resolver tus dudas antes.

Imagen de sarutoby

yo te creo pero

es que aora el codigo está asi:


for (i = 0; i> =(-31); i--)
    {
        PA_SetBrightness(0, i);
        PA_SetBrightness(1, i);
        PA_WaitForVBL();        
    }

pero por desgracia, me sigue saliendo este eroror:

main.c
d:/devkitPro/homebrew/aassddff/source/main.c: In function 'main':
d:/devkitPro/homebrew/aassddff/source/main.c:52: error: expected expression before '=' token
make[1]: *** [main.o] Error 1
make: *** [build] Error 2

Empiezo a pensar que soy yo que soy gafe...  ... A ya se, mira esperad un momento que os colgaré el codigo fuente completo para que os lo meireis con tranquilidad y quando podais sin prisa. En el preximo comentario colgaré un enlace de descarga.

Gracias, a todos, adios.


I like:

Imagen de exterminator

¡Ni se te ocurra

poner un espacio entre el > y el = ! ponlo todo junto.

i>=(-31);

Así, sin espacios.

Salu2

Imagen de sarutoby

Si as mirado

el codigo entero pos entonces antes de nada una pregunta:

¿Ati se te compila bien? Por que a mi no... ...y eso que una sola transicion si se me compila pero 2 no se por que...


I like:

Imagen de sarutoby

Mirad, para simplificar la cosa

os dejo aqui disponible el cdigo de las dos transiciones por separado (que sis e pueden compilar):


// Includes
#include <PA9.h>       // Include for PA_Lib

#include "compo_top.h" // gif to include
#include "compo_bottom.h" // gif to include

// Function: main()
int main(int argc, char ** argv){

    PA_Init();    // PA Init...
    PA_InitVBL();    // VBL Init...
   
    PA_Init8bitBg(0, 3);     // Init a 16 bit Bg on screen 0
    PA_Init8bitBg(1, 3);     // Init a 8 bit Bg on screen 1   
   
    PA_SetBrightness(0, -31); // all black
    PA_SetBrightness(1, -31); // all black   
   
    // Load splash while hidden
    PA_LoadGif(    1, (void*)compo_top); // Gif File
    PA_LoadGif(    0, (void*)compo_bottom); // Gif File

    s8 i;
    // Transition to normal visible background
    for(i = -31; i <= 0; i++){
        PA_SetBrightness(0, i);
        PA_SetBrightness(1, i);
        PA_WaitForVBL();          
    }  

    s16 time = 180; // 180 frames = 3 seconds
    while(time && (!Pad.Newpress.Anykey) && (!Stylus.Newpress)){ // Display until time over or keys pressed
        time--; // time goes by
        PA_WaitForVBL();
    }       
   
    // Transition to black
    for(i = 0; i > -32; i--){
        PA_SetBrightness(0, i);
        PA_SetBrightness(1, i);
        PA_WaitForVBL();          
    }     

    // Now that it's all black, clean all that and you're ready to go !
    PA_ResetBgSys();
    PA_SetBrightness(0, 0); // normal
    PA_SetBrightness(1, 0); // normal       

  while(1)  {
        PA_WaitForVBL();
    }
       
    return 0;
} // End of main()


Essta es la transicion 1. Aora os dejo el codigo de la segunda:

// Includes
#include <PA9.h>       // Include for PA_Lib

#include "test.h"
s16 level = 0;
s16 fade;
u8 black = 0;

void HBL_function(void){
   s16 vcount = PA_GetVcount();
   vcount++;
   if(vcount > 192) vcount = 0; // Get correct vcount
   fade = (vcount+(level*4)-192)>>2;  
   if(fade < 0) fade = 0;
   if(fade > 31) fade = 31;
  
   if(black) PA_SetBrightness(0, fade-31);
   else PA_SetBrightness(0, 31-fade);
}  

// Function: main()
int main(int argc, char ** argv)
{
    PA_Init();    // Initializes PA_Lib
    PA_InitVBL(); // Initializes a standard VBL
   
    PA_InitText(1, 0);
   
    PA_SetBrightness(0, 31);
   
    PA_Init8bitBg(0, 3);
    PA_LoadGif(0, (void*)test);
   

    irqSet(IRQ_HBLANK, HBL_function);
    irqEnable(IRQ_HBLANK);
   
    u8 i;
    level = 0;
    while(1){
       PA_OutputText(1, 8, 10, "Fading in, white  ");
        for(level = 0; level < 80; level++) PA_WaitForVBL();
        for(i = 0; i < 60; i++) PA_WaitForVBL(); // Wait 1 second
       
        black = 1;
        PA_OutputText(1, 8, 10, "Fading out, black ");
        for(level = 80; level > 0; level--) PA_WaitForVBL();   
        for(i = 0; i < 60; i++) PA_WaitForVBL(); // Wait 1 second
       
       PA_OutputText(1, 8, 10, "Fading in, black  ");
        for(level = 0; level < 80; level++) PA_WaitForVBL();
        for(i = 0; i < 60; i++) PA_WaitForVBL(); // Wait 1 second               
       
        black = 0;       
        PA_OutputText(1, 8, 10, "Fading out, white ");
        for(level = 80; level > 0; level--) PA_WaitForVBL();
        for(i = 0; i < 60; i++) PA_WaitForVBL(); // Wait 1 second       
    }       

    return 0;
} // End of main()


Este segundo codigo tambien se compila bien, pero quando intento juntarlos para acer en un solo homebrew las 2 transiciones me sale el error. Este es el codigo de las 2 aplicaciones juntas:

    // Includes
    #include <PA9.h>       // Include for PA_Lib

    #include "compo_top.h" // gif to include
    #include "compo_bottom.h" // gif to include
    #include "test.h"
    s16 level = 0;
    s16 fade;
    u8 black = 0;
    void HBL_function(void){
   s16 vcount = PA_GetVcount();
   vcount++;
   if(vcount > 192) vcount = 0; // Get correct vcount
   fade = (vcount+(level*4)-192)>>2;  
   if(fade < 0) fade = 0;
   if(fade > 31) fade = 31;
  
   if(black) PA_SetBrightness(0, fade-31);
   else PA_SetBrightness(0, 31-fade);
}  

    // Function: main()
    int main(int argc, char ** argv)
{
    PA_Init();    // Initializes PA_Lib
    PA_InitVBL(); // Initializes a standard VBL
   
        PA_Init8bitBg(0, 3);     // Init a 16 bit Bg on screen 0
    PA_Init8bitBg(1, 3);     // Init a 8 bit Bg on screen 1   
   
    PA_SetBrightness(0, -31); // all black
    PA_SetBrightness(1, -31); // all black   
   
    // Load splash while hidden
    PA_LoadGif(    1, (void*)compo_top); // Gif File
    PA_LoadGif(    0, (void*)compo_bottom); // Gif File

    s8 i;
    // Transition to normal visible background
    for(i = -31; i <= 0; i++){
        PA_SetBrightness(0, i);
        PA_SetBrightness(1, i);
        PA_WaitForVBL();          
    }  

    s16 time = 180; // 180 frames = 3 seconds
    while(time && (!Pad.Newpress.Anykey) && (!Stylus.Newpress)){ // Display until time over or keys pressed
        time--; // time goes by
        PA_WaitForVBL();
    }       
   
    // Transition to black
   for(i = 0; i > -32; --){
        PA_SetBrightness(0, i);
        PA_SetBrightness(1, i);
        PA_WaitForVBL();          
    } 
  

    // Now that it's all black, clean all that and you're ready to go !
    PA_ResetBgSys();
    PA_SetBrightness(0, 0); // normal
    PA_SetBrightness(1, 0); // normal
    // Aqui pondremos temporalmente una imagen
    PA_InitText(1, 0);
    PA_SetBrightness(0, 31);
    PA_Init8bitBg(0, 3);
    PA_LoadGif(0, (void*)test);
    irqSet(IRQ_HBLANK, HBL_function);
    irqEnable(IRQ_HBLANK);
    u8 i;
    level = 0;
    while(1){
    PA_WaitForVBL();        
    }       

    return 0;
}


Ay una parte del codigo que la he puesto en negrita. Lo he hecho por que ay es donde tengo el error. Asi señalada es mas senzillo de distinguir. Epero que asi sea mas facil. Gracias a todos.

Gracias, adios.


I like:

Imagen de exterminator

Pero

si es que el error te lo indica: "expected expression before )". O sea, que escribas la tercera expresión antes de cerrar paréntesis.

 for(i = 0; i > -32; --){
        PA_SetBrightness(0, i);
        PA_SetBrightness(1, i);
        PA_WaitForVBL();          
    }    

El -- NO es una expresión. Ponle i--.

Y da igual que te de mayor error, porque mientras no corrijas eso no podremos ayudarte con el resto. Después de esto, dinos cual es el error que te aparece después.

Salu2


Para recibir ayuda por parte de otros usuarios más rápidamente, recomendamos que pongas títulos descriptivos y no utilices abreviaturas (estilo MSN) en tus post de los foros. Recuerda que accediendo al Manual del perfecto forero y las Normas de la Comunidad aprenderás trucos para resolver tus dudas antes.

Imagen de sarutoby

Ya pero si ago

lo que me dices (que no eres el unico) me sale este error:


main.c
d:/devkitPro/homebrew/aassddff/source/main.c: In function 'main':
d:/devkitPro/homebrew/aassddff/source/main.c:76: error: conflicting types for 'i'
d:/devkitPro/homebrew/aassddff/source/main.c:44: error: previous declaration of 'i' was here
d:/devkitPro/homebrew/aassddff/source/main.c:76: warning: unused variable 'i'
make[1]: *** [main.o] Error 1
make: *** [build] Error 2

Por eso no he hecho lo queme dices (bueno, si lo he hecho para demostrarte que me sale error)


I like:

Imagen de exterminator

Aquí

has vuelto a declarar una variable con el nombre i:

irqSet(IRQ_HBLANK, HBL_function);
    irqEnable(IRQ_HBLANK);
    u8 i;
    level = 0; 

Borra esa declaración, que sobra. Si lo que quieres es que i vuelva a valer 0, con que pongas i=0 es suficiente.

Salu2


Para recibir ayuda por parte de otros usuarios más rápidamente, recomendamos que pongas títulos descriptivos y no utilices abreviaturas (estilo MSN) en tus post de los foros. Recuerda que accediendo al Manual del perfecto forero y las Normas de la Comunidad aprenderás trucos para resolver tus dudas antes.

Imagen de sarutoby

La otra variante, no sobra por

que si la quito me sale este error:


compo_bottom.gif
      0 [main] sh 5284 open_stackdumpfile: Dumping stack trace to sh.exe.stackdump
/bin/sh: & 3 : syntax error: operand expected (error token is "& 3 ")
compo_top.gif
      0 [main] sh 5816 open_stackdumpfile: Dumping stack trace to sh.exe.stackdump
/bin/sh: & 3 : syntax error: operand expected (error token is "& 3 ")
test.gif
      0 [main] sh 5548 open_stackdumpfile: Dumping stack trace to sh.exe.stackdump
/bin/sh: & 3 : syntax error: operand expected (error token is "& 3 ")
main.c
d:/devkitPro/homebrew/aassddff/source/main.c: In function 'main':
d:/devkitPro/homebrew/aassddff/source/main.c:59: error: expected expression before '{' token
d:/devkitPro/homebrew/aassddff/source/main.c:67: error: expected ')' before ';' token
d:/devkitPro/homebrew/aassddff/source/main.c:83: error: expected expression before '}' token
d:/devkitPro/homebrew/aassddff/source/main.c:83: warning: control reaches end of non-void function
make[1]: *** [main.o] Error 1
make: *** [build] Error 2


I like:

Imagen de copete23

¿Te has fijado en que tipo

¿Te has fijado en que tipo de variable es i ?, si la tienes declarada como unsigned (u8,u16....) te dara error al intentarle dar un valor negativo (i<-32, i--), tiene que ser signed, (s8,s16,s32...) revisaló a ver.

saludos!

Imagen de The Dark Master

Según el error en la lína

Según el error en la lína 59 hay algo mal cerrado, un {, }, ( o ) es la causa...

Salu2

Imagen de sarutoby

De acuerdo, gracias

gracias por resolberlo, (tan rapido).

pero la line 59 la tengo asi:

    for(i = 0; i > -32; --);

y que yo sepa no le veo ni un slolo error ya que cada vez que le modifico algo a esta linea el error se me hace mas grande. Te dejo todo este apartado de la 59 a la 64:


    // Transition to black
    for(i = 0; i > -32; --);
    {
        PA_SetBrightness(0, i);
        PA_SetBrightness(1, i);
        PA_WaitForVBL();          
    } 


Gracias, adios


I like:

Imagen de The Dark Master

No entiendo mucho de for

No entiendo mucho de for pero creo que el ; sobra:

   for(i = 0; i > -32; --){
        PA_SetBrightness(0, i);
        PA_SetBrightness(1, i); 
        PA_WaitForVBL();           
    }  

Salu2


Pos mira que es algo basico

Pos mira que es algo basico ^^. Aunque bueno, con un while te puedes apañar tambien ;).

 

Un error era ese, pero tambien que no ha puesto ningun valor  antes del --. Hay que indicar lo que se resta sino dara error.

 

Supongo que sera la variable i, asi que el codigo seria:

   for(i = 0; i > -32; i--){
        PA_SetBrightness(0, i);
        PA_SetBrightness(1, i); 
        PA_WaitForVBL();           
    }  
Imagen de sarutoby

ya pero si pongo

 el codigo que me dices me sale otra vez el error principal.

Yo siempre dejo un espacio

Yo siempre dejo un espacio entre la palabra for y el parentesis, prueba aver XD.

 

Sino, te aseguro que el problema no es de esa parte del codigo. Mira unas lineas mas atras o delante...

Imagen de sarutoby

Nada, desgaraciadamente

el error sigue alli, fijo. Parece que tenga vida propia y aya escogido estar alli y no desaparecer...(diciendo esas cosas, parece que no esté bien de la cabeza...) Jo, pero una cosa, no dijo masters sonic que havia un esrror de que algo estava mal cerrado. Pos a lo mejor es eso, pero el problema es saver que es lo que está mal cerrado...


I like:

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.