Thu 29 Apr 2010 02:25:51 PM UTC, comment #3:
My apologies for the horrid formatting: I must have done the markup formatting wrong on my comment.
Here it is again without any attempts at markup:
...
The first line of make.out shows us exactly what's being passed to gcc: it's using data returned from gnustep-config to use for options. If you execute each of those three in a shell, alone - outside of make, do the paths displayed for the -I and -L options point to the right places?
Running just gcc -Wall main.m on my Linode produces the same output as your Makefile; it's possible that gnustep-config isn't returning anything because there isn't anything set for any of the supplied flags - not even a message indicating such. Any informational or error messages returned by gnustep-config would be processed by gcc as options, leading to additional error messages - which we don't see in make.out.
Try to run gcc on your main.m directly using the same options it would expect to receive from gnustep-config (mine is included at the end of this message as a convenience - adjust things like paths as needed) - it could hopefully fix the errors.
Now, about that warning - control reaches end of non-void function. When you write +methodName or -methodName, the compiler expects you to return an object. This is because +methodName is shorthand for + (id) methodName. This warning can be silenced by either returning self or specifying void in the signature.
Lastly, did you mean to define Test as a root class? It doesn't define a superclass. Given the minimal context of your example, it's probably intentional on your part, but I'll mention it just in case it isn't.
Hopefully, something in this wall of text helps you out in some way.
-- thoughts from a curious bystander
|