In NSObject.h there are some functions which need a correct declaration for
use as a DLL.

GS_EXPORT NSObject *NSAllocateObject(Class aClass, unsigned extraBytes,
NSZone *zone);
GS_EXPORT void NSDeallocateObject(NSObject *anObject);
GS_EXPORT NSObject *NSCopyObject(NSObject *anObject, unsigned extraBytes,
NSZone *zone);

GS_EXPORT BOOL NSShouldRetainWithZone(NSObject *anObject, NSZone
*requestedZone);
GS_EXPORT unsigned NSExtraRefCount(id anObject);
GS_EXPORT void NSIncrementExtraRefCount(id anObject);
GS_EXPORT BOOL NSDecrementExtraRefCountWasZero(id anObject);


I am using GS_EXPORT now, but I don't know if it would be better to use the
other variable GS_DECLARE which has to be defined differently in
NSObjCRuntime.h:

old way:
#if BUILD_libgnustep_base_DLL
#  define GS_EXPORT  __declspec(dllexport)
#elif libgnustep_base_ISDLL
#  define GS_EXPORT  extern __declspec(dllimport)
#else
#  define GS_EXPORT extern
#endif
#define GS_DECLARE

new way:
#if BUILD_libgnustep_base_DLL
#  define GS_EXPORT  __declspec(dllexport)
#  define GS_DECLARE __declspec(dllexport)
#elif libgnustep_base_ISDLL
#  define GS_EXPORT  extern __declspec(dllimport)
#  define GS_DECLARE __declspec(dllimport)
#else
#  define GS_EXPORT extern
#  define GS_DECLARE
#endif


Michael


_______________________________________________
Bug-gnustep mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-gnustep

Reply via email to