[omniORB] OmniORB4 on MacOS 9.2.2

Malge Nishant MNishant@quark.co.in
Wed Nov 27 08:05:01 2002


Hi All

	I am building OmniORB4 on MacOS 9.2.2 with Code Warrior 8.3. I am
having some problems.. and I know that these are because of the compiler.

	inProcessIdentity.h, localidentity.h, remoteidentity.h
	In these files constructor of each class uses "thisClassCompare"

e.g. 
	inline omniInProcessIdentity(omniObjKey& key,classCompare_fn compare
= thisClassCompare)
    	: omniIdentity(key, compare),
      pd_refCount(0)
	{
	...
	}
	.....
	....
	static void* thisClassCompare(omniIdentity*, void*);

	
	'thisClassCompare' is declared after this constructor. When
compiling omniORB4 with Code warrior on MacOs9.2.2/MacOS X, compiler gives
an error message --
	Error: undefined identifier 'thisClassCompare'
	inProcessIdentity.h line 79 classCompare_fn compare =
thisClassCompare)


But if I change the order of declaration as below, compiler is happy & works
fine.
________________________________________
static void* thisClassCompare(omniIdentity*, void*);
inline omniInProcessIdentity(omniObjKey& key,
			       classCompare_fn compare = thisClassCompare)
    : omniIdentity(key, compare),
      pd_refCount(0)
	{
		....
	}
________________________________________

After changing this I am able to build omniORB as a shared library and my
echo example works file.  if possible, can we adopt this declaration order
in omniORB distribution, as this will help all of us in future too.

FYI: Code Warrior 7 Compiler has few more problems and you may get more that
expected errors.

Thankx 
Regards
Nishant