views:

376

answers:

2

I'm trying to unit test objective-c classes built in the MinGW shell. Since OCUnit has been embraced by Apple for XCode, it seems that the developer, Sen:te, has now focused on that. So, the last source distro that claims to support GNUstep is v27.

Anyway, I downloaded the v27 tarball and tried to build in MinGW. You first have to build the Sen:te foundation classes using a file called SenFoundation\GSmakefile.

It goes along nicely for awhile until I get:

 Compiling file SenInvocationEnumerator.m ...
 In file included from SenInvocationEnumerator.m:10:
 SenInvocationEnumerator.h:13:25: warning: objc/runtime.h: No such file or directory

As far as I can tell there is no such file in my GNUstep tree or anywhere else on my drive.

Has anybody had success with this, or at least is aware of where objc/runtime.h comes from?

+2  A: 

I was finally able to build the SenFoundation library with GNUstep by changing the following #import statements:

In files:

  • SenClassEnumerator.h
  • SenInvocationEnumerator.h

    Change:

        #import <objc/runtime.h>
    

    To:

        #import <GNUstepBase/GSObjCRuntime.h>
    

In files:

  • NSInvocation_SenTesting.m
  • NSObject_SenRuntimeUtilities.m

    Change:

        #import <objc/objc-class.h>
    

    To:

        #import <GNUstepBase/../objc/Object.h>
    

In file:

  • SenClassEnumerator.m

    Change:

        #import <objc/objc-runtime.h>
    

    To:

        #import <GNUstepBase/../Foundation/NSObjCRuntime.h>
    
Buggieboy
A: 

Buggieboy, did you manage to use OCUnit in the end?

oconwindows
I gave up because it appeared to me that Sen:te had abandoned Windows development. Their website seems to be all about XCode since Apple started bundling it. If you really want to use this tool, I'd save yourself some grief and get a Mac.
Buggieboy