From: garyt AT pacific DOT net DOT sg (Gary Tan) Newsgroups: comp.lang.c++;,comp.os.msdos.djgpp Subject: Help, DJGPP(dos) from CC (unix) Date: Wed, 23 Jul 1997 13:52:50 GMT Organization: Centre for Computer Studies, Ngee Ann Polytechnic - Singapore Lines: 111 Message-ID: <33d6032c.4065480@news.pacific.net.sg> Reply-To: garyt AT pacific DOT net DOT sg NNTP-Posting-Host: dyn118ppp251.pacific.net.sg Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Precedence: bulk Hi all, I've got a minor problem. I try to run a compile/link a simple program and I get an error. Listing of C++ program "t.c" ------------------------------------------- #include #include "chiarray.h" #include "chistrng.h" main() { String oFirstName("Adam"); String oSurName("Zecheus"); cout << "First Name is " << oFirstName << " Surname is " << oSurName << endl; Array ooaName(0,1); ooaName[0] = oFirstName; ooaName[1] = oSurName; if (ooaName[0] < ooaName[1]) cout << "Adam is less than Zecheus" << endl; else cout << "Zecheus is less than Adam" << endl; } output: ----------- t.c: In function 'int main()': t.c: 7: 'String' undeclared (first use ...) etc... ------------------------------------------------------------------------- Part of header file ChiStrng.h: ---------------------------------------------- class Chi_String /* PURPOSE: A string class */ { public: enum {NPOS = INT_MAX}; // maximum number of positions in string Chi_String(); // constructs an empty string Chi_String(const char s[]); Chi_String(char ch); char& operator[](int i); void set(int i, char ch); void insert(int at, const Chi_String& s); void insert(int at, const char s[]); void insert(int at, char ch); void insert_field(int, const Chi_String&); } etc... Anyway the source works on the UNIX CC program, using a makefile. Listing of Makefile ---------------------------- #makefile CHIFLAG = -I/home/student8/common/Headers -lchi -DCHI_RENAME OBJECT = #Note: compile any files with .C extension and produce the respective object # files #Note: -g and -c are compilation flags .C.o: CC -g -c $< #Produce an executable program: #Compile .C file, link with library libchi.a #Header files stored in /home/student8/common/Headers tryArrStr: tryArrStr.C CC -g $(CHIFLAG) tryArrStr.C -o $@ tryarr~1: tryarr~1.c CC -g $(CHIFLAG) tryArr~1.C -o $@ ------------------------------------------------------------------------------------------------ I suppose the makefile renames the chi_String to String since it was declared as a chi_String in the header file. is there a way to overcome this??? I have tried renaming all the header files from the chilib (Cay Horstmann's Library) to remove the Chi_*, however it doesn't work. I am trying to bring my school assignments home, but am stumped by this horrendous error. Can someone pls help me??? pls CC to me as well. regards, Gary Tan garytan AT pobox DOT org DOT sg garyt AT pacific DOT net DOT sg s5545301 AT np DOT ac DOT sg