Building wxMac2.6.3 CW8.3 (or fail trying to)
Bengt Nilsson
bengt.nilsson11 at spray.se
Mon Nov 6 11:04:36 PST 2006
I know the wxWidgets support team is not using Metrowerks CodeWarrior
anymore, but maybe someone in the community could help me.
I am trying to build wxMac2.6.3 using CW8.3 on a PowerMac G5 with
MacOSX10.4.8, using the CW setting OS X Volume = /Developer/SDKs/
MacOSX10.3.9.sdk.
Apple apparently made some recent changes in MacOSX10.3.9sdk that
required the existence of mw_stdbool.h, mw_float.h, etc. to avoid
mixup with the gcc headers:
/Developer/SDKs/MacOSX10.3.9.sdk/usr/include/stdbool.h:
/* This file is public domain. */
/* stdbool.h has moved to avoid accidental use with a non-GCC
compiler. Only GCC should have used stdbool.h due to licensing
restrictions. */
#ifdef __MWERKS__
#include "mw_stdbool.h"
#else
#error "This header only supports __MWERKS__."
#endif
Just changing the names to the required ones inside CW (I assumed
this was the thing to do?) fixed the 'file not found' errors, but
this came instead:
Error : preprocessor #error directive
(included from:
stdbool.h:6
MacTypes.h:23
Files.h:20
jmemsys.h:133
jmemmgr.c:31)
mw_stdbool.h line 16 #error You must have the non-MSL C header file
access path before the MSL access path
from the file <CW>/MSL/MSL:C/MSL_Common/Include/mw_stdbool.h:
#if !_MSL_USING_MW_C_HEADERS
#error You must have the non-MSL C header file access path before
the MSL access path
#else
Change the path order in the settings panel did not change anything,
or maybe there were too many combinations for me to test.
Looking at the definition of _MSL_USING_MW_C_HEADERS in
ansi_prefix.mach.h:
#ifndef _MSL_USING_MW_C_HEADERS
#define _MSL_USING_MW_C_HEADERS 0
#endif
If I change to
#ifndef _MSL_USING_MW_C_HEADERS
#define _MSL_USING_MW_C_HEADERS 1
#endif
wxMac2.6.3 builds, but I feel that
1) it is probably changed in the wrong file and
2) I definitely don't know what I am doing.
Suggestions, anyone?
How can it be done properly?
More information about the wx-users
mailing list