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();
}
I like:
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:
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:
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.
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:
¡Ni se te ocurra
poner un espacio entre el > y el = ! ponlo todo junto.
i>=(-31);
Así, sin espacios.
Salu2
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:
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:
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.
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.
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:
Aquí
has vuelto a declarar una variable con el nombre i:
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.
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:
¿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!
Mi blog: http://creandomisvideojuegos.blogspot.com
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
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:
No entiendo mucho de for
No entiendo mucho de for pero creo que el ; sobra:
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:
Mi creacciónes particulares:
http://www.scenebeta.com/noticia/la-serpiente
http://www.scenebeta.com/node/22535
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...
Mi creacciónes particulares:
http://www.scenebeta.com/noticia/la-serpiente
http://www.scenebeta.com/node/22535
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: