Hm, I'm not sure what is going on. Your install procedure looks correct and I've used a very similar procedure on Ubuntu 11.04 successfully.
Here's another test program you could try which avoids constant strings: #import <Foundation/Foundation.h> #include <stdio.h> int main(int argc, const char **argv) { NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; printf("testing NSNumber: %d\n", [[NSNumber numberWithInt: 3] intValue]); [pool release]; return 0; } Also, could you try running make with "make messages=yes"? This will log the full command line used to run gcc. How did you install the objective-C compiler and runtime? Just through the gobjc package? -Eric On 2011-09-25, at 11:03 AM, Jackie Gleason wrote: > Sorry, I was trying not to send the whole code, probably should have included > that. > > Anyway still looking for an answer, I believe it has something to do with the > way I am compiling from source since I don't see a Libraries folder under > /usr/GnuStep > > > #include <stdio.h> > #import <Foundation/Foundation.h> > > /* > * The next #include line is generally present in all Objective-C > * source files that use GNUstep. The Foundation.h header file > * includes all the other standard header files you need. > */ > > /* > * Declare the Test class that implements the class method (classStringValue). > */ > @interface Test > + (const char *) classStringValue; > @end > > /* > * Define the Test class and the class method (classStringValue). > */ > @implementation Test > + (const char *) classStringValue; > { > return "This is the string value of the Test class"; > } > @end > > /* > * The main() function: pass a message to the Test class > * and print the returned string. > */ > int main(void) > { > NSString* s = @"Hello, world!"; > NSLog(s); > //printf("%s\n", [Test classStringValue]); > return 0; > } > > Same issue is still happening > > On Sun, Sep 25, 2011 at 12:51 PM, Eric Wasylishen <ewasylis...@gmail.com> > wrote: > Hey, > To use NSLog, NSString, and even constant strings (@""), you need to import > the GNUstep base headers. > Adding: > > #import <Foundation/Foundation.h> > > to the top of your source.m file should fix the problem. :-) > Eric > > On 2011-09-24, at 10:56 AM, Jackie Gleason wrote: > > > I am trying to compile the following code > > Environment: Ubuntu 11.04 x64 > > > > int main(void) > > { > > > > NSString* s = @"Hello, world!"; > > NSLog(s); > > //printf("%s\n", [Test classStringValue]); > > return 0; > > } > > > > I install and Compile GNUstep by checking out the anonymous core, then > > compiling in the order make, base, gui, back. I compile all of them using > > the following command (under sudo shell).. > > > > ./configure --prefix=/usr/GnuStep > > make > > make install > > > > After make I run the following... > > . /usr/GnuStep/share/GNUstep/Makefiles/GNUstep.sh > > > > Finally I create the following GNUMakeFile... > > > > include $(GNUSTEP_MAKEFILES)/common.make > > > > TOOL_NAME = LogTest > > LogTest_OBJC_FILES = source.m > > > > include $(GNUSTEP_MAKEFILES)/tool.make > > > > But when I try running I get the following message... > > ~/Development/Code/personal/GnuStep/helloWorld$ make > > This is gnustep-make 2.6.1. Type 'make print-gnustep-make-help' for help. > > Making all for tool LogTest... > > Compiling file source.m ... > > source.m: In function ‘main’: > > source.m:36:3: error: cannot find interface declaration for > > ‘NXConstantString’ > > make[3]: *** [obj/LogTest.obj/source.m.o] Error 1 > > make[2]: *** [internal-tool-all_] Error 2 > > make[1]: *** [LogTest.all.tool.variables] Error 2 > > make: *** [internal-all] Error 2 > > > > the ls for the folder is... > > :/usr/GnuStep# ls > > bin share > > > > Any help would be very appreciated. > > _______________________________________________ > > Gnustep-dev mailing list > > Gnustep-dev@gnu.org > > https://lists.gnu.org/mailman/listinfo/gnustep-dev > >
_______________________________________________ Gnustep-dev mailing list Gnustep-dev@gnu.org https://lists.gnu.org/mailman/listinfo/gnustep-dev