[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
#define conflict with swig
From: |
John W. Eaton |
Subject: |
#define conflict with swig |
Date: |
Sun, 21 Aug 2005 13:20:30 -0400 |
On 21-Aug-2005, jon wrote:
| I've been attempting to embed both octave and python in a third program
| using the swig interface generator. Using the usual oct.h includes in
| an octave.i
| file, I get
|
| address@hidden:~/develop/octave-py $ swig -c++ -python octave.i
| octave/config.h:768: Error: Macro 'DYNAMIC_CAST' redefined,
| /usr/share/swig1.3/swig.swg:382: Error: previous definition of
| 'DYNAMIC_CAST'.
|
| It appears part of the magic swig does uses DYNAMIC_CAST cleverly,
| and that
| collides with octave's version.
|
| Is there anything to do other than getting octave sources, and
| rebuilding after using sed
| to effect a s/DYNAMIC_CAST/_DYNAMIC_CAST/g on the whole octave source
| tree ?
| That would probably work, but make the project unmaintainable.
I used these macros because I wanted to be able to make Octave work on
systems where the C++ compiler did not yet implement dynamic_cast,
reinterpret_cast, and static_cast. These days, I think we can assume
that the C++-style casts will be available in any compiler that is
capable of compiling Octave. So maybe now would be a good time to
replace these macros in Octave with the actual C++-style casts in the
source?
jwe
-------------------------------------------------------------
Octave is freely available under the terms of the GNU GPL.
Octave's home on the web: http://www.octave.org
How to fund new projects: http://www.octave.org/funding.html
Subscription information: http://www.octave.org/archive.html
-------------------------------------------------------------