• Create Account

# Having an error with a GBA program...

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

4 replies to this topic

### #1CGalyon  Members   -  Reputation: 122

Like
Likes
Like

Posted 11 June 2002 - 05:38 AM

Hmm... well, this is my first time posting in the programming section, so I apologize if I screw up any of the defacto standards for posting code. When I compile a program I wrote to draw sprites and move them around on the screen, I get the following series of errors (though C reports only one error as stopping the program): gcc -c -O3 Sprites.cpp Sprites.cpp: In function int main(int, char**)'': Sprites.cpp:23: sprites'' undeclared (first use this function) Sprites.cpp:23: (Each undeclared identifier is reported only once for each function it appears in.) Sprites.cpp:47: sp'' undeclared (first use this function) Sprites.cpp:57: OBJPaletteMem'' undeclared (first use this function) NMAKE : fatal error U1077: ''gcc'' : return code ''0x1'' Stop. Error executing NMAKE. Sprites.exe - 1 error(s), 0 warning(s) As near as I can tell, the first three "errors" aren''t really causing any problems. And I can''t figure out where the "fatal error" is. Any help would be much appreciated! Charles Galyon

### #2 Anonymous Poster_Anonymous Poster_*   Guests   -  Reputation:

Likes

Posted 11 June 2002 - 12:20 PM

Variables like to be declared before using them.

Suggestion #1: Declare the variables.
Suggestion #2: Learn C before trying to use it on GBA.
Suggestion #3: sp is a horrible name for anything except the stack pointer.

That is all.

### #3meh  Members   -  Reputation: 375

Like
Likes
Like

Posted 12 June 2002 - 01:31 AM

The errors themselves are telling you that the compiler has come across variables used in your code that havent been declared anywhere that it can see.

Are these global variables for your code? What is on and around the lines causing the errors? It''d be helpful to see some code to help you. Read the FAQ on how to paste in source code correctly with pretty highlighting and everything.

To the AP who replied, not really very helpful comments are they. Suggestions 1 and 3 are apt but suggestion 2 is only counter-productive.

### #4Michalson  Members   -  Reputation: 1657

Like
Likes
Like

Posted 12 June 2002 - 01:58 AM

quote:
Original post by CGalyon
As near as I can tell, the first three "errors" aren''t really causing any problems. And I can''t figure out where the "fatal error" is.

Those 3 unimportant errors are causing the "fatal" error. The "fatal" error is that gcc can''t compile your program because its got undeclared (unknown) variables in it (as specified by your three errors).

Unless it calls it a "warning" all "errors" are bad and must be fixed in order to compile and run the program. All compiler "errors" are problems, they all cause problems that will prevent you from compiling your program.

### #5CGalyon  Members   -  Reputation: 122

Like
Likes
Like

Posted 13 June 2002 - 09:34 AM

Ah-hah! So here's where my post went!

Ok, well, the problem has finally been resolved. One of the problems was that I had a header file (gba.h) that included most of the other header files I'd inserted. The gba.h header file had an error in defining the function, but the other file had it correct. So I corrected the gba.h and deleted the others. Anyway, now that works, but I have other errors.

If you'd care to take a stab at them.

Basically, the program compiles, but when run through Mappy (I just happen to use this one as it was recommended), I get garbled junk on the top left of the screen (it reaches the top edge, but not the left edge). It appears that either the header file for the sprite is messed up, or the loop that copies the sprite data to the OAMData is messed up. I'm going to experiment with some of the various pcx2sprite converters out there to see if that's the case. The loop doesn't have any glaring problems just yet, but I'll post it so you can take a look.

  	for(y_loop=0;y_loop<4;y_loop++)	{		for(x_loop=0;x_loop<128;x_loop++)		{			OAMData[x_loop+y_loop * 256]=sprite1Data[index];			index++;		}	}

Thanks for the helpful responses. I am relearning C after about 10 years or so of absence. So yeah, I'm rusty on a lot of things. Any complaints regarding my notation should be directed at the originator of the code who has proven himself more than a competent programmer. For my part, I'm simply utilizing someone's tutorials to help me remember everything.

Thanks again,
Charles Galyon

[edited by - CGalyon on June 13, 2002 4:36:12 PM]

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

PARTNERS