X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f From: jbs30000 AT aol DOT com (Joel) Newsgroups: comp.os.msdos.djgpp Subject: undefined reference to error Date: 28 Sep 2003 23:07:06 -0700 Organization: http://groups.google.com/ Lines: 51 Message-ID: <84e4e2a9.0309282207.1769af24@posting.google.com> NNTP-Posting-Host: 152.163.252.163 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit X-Trace: posting.google.com 1064815632 18409 127.0.0.1 (29 Sep 2003 06:07:12 GMT) X-Complaints-To: groups-abuse AT google DOT com NNTP-Posting-Date: 29 Sep 2003 06:07:12 GMT To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com OK, I'm writting a program with several moduals. Right now, all of the routines have to do with SVGA graphics. I have routines to handle 8, 15, 16, 24, and 32 bit graphics modes, as well as banked and linear modes. When a mode is chosen, it is checked to see how many colors are used, and if it's banked or linear, then a couple of jump tables are set accordingly. I'll try to give all the relevant routines. I hope that this doesn't make the post too long. For example, the routines for plotting and getting the color at a certain location for 8 bit modes are: void Bank_Plot_8(unsigned short X, unsigned short Y, unsigned char R, unsigned char G, unsigned char B, unsigned char LO); void Linear_Plot_8(unsigned short X, unsigned short Y, unsigned char R, unsigned char G, unsigned char B, unsigned char LO); unsigned long Bank_Point_8(unsigned short X, unsigned short Y); unsigned long Linear_Point_8(unsigned short X, unsigned short Y); and in the Header file for these routines I have: extern void Bank_Plot_8(unsigned short X, unsigned short Y, unsigned char R, unsigned char G, unsigned char B, unsigned char LO); extern void Linear_Plot_8(unsigned short X, unsigned short Y, unsigned char R, unsigned char G, unsigned char B, unsigned char LO); extern unsigned long Bank_Point_8(unsigned short X, unsigned short Y); extern unsigned long Linear_Point_8(unsigned short X, unsigned short Y); Now, for the jump tables, I have: void (*Plot_Pixel)(unsigned short X, unsigned short Y, unsigned char R, unsigned char G, unsigned char B, unsigned char LO); unsigned long (*Pixel_Point)(unsigned short X, unsigned short Y); And, in the Header file: extern void (*Plot_Pixel)(unsigned short X, unsigned short Y, unsigned char R, unsigned char G, unsigned char B, unsigned char LO); extern unsigned long (*Pixel_Point)(unsigned short X, unsigned short Y); Now, here's part of the routine to assign a linear address to the jump tables: void Linear_PTR_Set() { switch(ModeInfo.Bits_Per_Pixel) { case 8: Plot_Pixel = &Linear_Plot_8; Pixel_Point = &Linear_Point_8; Now, the funny thing is, Plot_Pixel = &Linear_Plot_8; is just fine, but in the message window shown by RHIDE, I get this: Error: undefined reference to `Linear_Point_8(unsigned short, unsigned short) This error also applies to all the other Liner_Point's (_15, _16, etc...) and all the Bank_Point routines. What am I doing wrong here? Thank you.