X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f From: Cesar Rabak Newsgroups: comp.os.msdos.djgpp Subject: Re: question about Objective C Date: Thu, 27 Apr 2006 18:31:38 -0300 Organization: Aioe.org NNTP Server Lines: 95 Message-ID: References: <397 DOT 209602d DOT 318278dc AT cs DOT com> NNTP-Posting-Host: RlVd++5HrKvzofRtoX/5wQ.user.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Complaints-To: abuse AT aioe DOT org In-Reply-To: X-Accept-Language: pt-br, pt User-Agent: Mozilla Thunderbird 1.0.6-6mdk (X11/20050322) To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com KTrumpetsRule AT cs DOT com escreveu: > I was trying to look at Objective C. I downloaded all the latest components > via zip picker, installed them all in c:\djgpp. > > The program I tried was an example from one of the tutorials on the web. > Here is main.m: > > // This will create a printer object, set it's string and tell it to print > #import "printer.h" > void main() Change this to: main() > { > id printer = [[Printer alloc] init]; > [printer addStringValue:"Hello World!"]; > [printer print]; > [printer free]; > } > You use both capitalized 'Printer.h' and lowercase 'printer.h' and this will bite you someday. > Here is printer.m: > > #import "Printer.h" > @implementation Printer > - init > { > [super init]; > [self clear]; > return self; > } > - addStringValue:(const char*)astring > { > strcat(buffer, astring); > return self; > } > - print > { > printf("%s\n",buffer); > [self clear]; > return self; > } > - clear > { > strcpy(buffer, ""); > return self; > } > @end > > Here is printer.h: > > #import > @interface Printer : Object > { > char buffer[100]; > } > - init; > - addStringValue:(const char*)astring; > - print; > - clear; > @end > > Here's what I use to compile the above. Maybe this is where the problem lies > as I'm not sure how the Objective C switches work. I downloaded a copy of > the 4.10 compiler docs and couldn't find much help in them. > Make the following changes: > main.exe: main.o printer.o > gcc -o main.exe printer.o gcc -o main.exe main.o printer.o -lobjc > > printer.o : printer.m printer.h > gcc -c -pedantic -ansi -Wno-import -lobjc -fgnu-runtime printer.m gcc -c -Wno-import -fgnu-runtime printer.m > > main.o : main.m printer.h > gcc -c -pedantic -ansi -Wno-import -lobjc -fgnu-runtime main.m gcc -c -Wno-import -fgnu-runtime main.m > [snipped] Should compile now. HTH -- Cesar Rabak