Message-ID: <33D6328E.1EE3@maltanet.net> Date: Wed, 23 Jul 1997 09:34:22 -0700 From: Ivan-Mark Debono Reply-To: ivanmdeb AT maltanet DOT net Organization: Axiom Entertainment MIME-Version: 1.0 To: Andrew Crabtree CC: djgpp AT delorie DOT com Subject: Re: error: undefined reference References: <199707221520 DOT AA040834824 AT typhoon DOT rose DOT hp DOT com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Precedence: bulk I have renamed the TILE, SPRITE and MAP to .C files instead of .H files. The compiler already has the -c directive, but now 2 other errors occur: Error: gcc.exe: bwmaped.o: linker input file unused since linking not done Error: gcc.exe: -lalleg: linker input file unused since linking not done Can anybody help??? Andrew Crabtree wrote: > > > I'm coding a map editor and I have decided to split my routines into > > smaller files. This is the list of the current files: > > > > - BWMAPED.C (Main program) > > - DATASTRT.H (Various constants and data structures) > > - TILE.H (Tile routines) > > - SPRITE.H (Sprite routines) > > - MAP.H (Map routines) > > bwmaped.c(101) Error: undefined reference to 'IMD_new_map' > > > > As a general rule of thumb, only put the following in header files. > > Macros > Defines > Function Prototypes > Struct declarations > Externs > > Do NOT put in anything like this > > Variable Declaration > Functions themselves. > > When splitting up files make multiple .c files, with corresponding > .h files describing the interface if needed, to functions and variables. > Compile the .c files with the -c option to stop at .o phase. Then, > link them all together at once.