#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
<address@hidden> 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
> address@hidden
> https://lists.gnu.org/mailman/listinfo/gnustep-dev