[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Support #ATY-776694]: [udunits] Compiler-Error in udunits2 with compatibility include-file of udunits
- Subject: [Support #ATY-776694]: [udunits] Compiler-Error in udunits2 with compatibility include-file of udunits
- Date: Thu, 16 Jul 2009 16:51:40 -0600
Heiko,
> I tried to compile a c++-program which uses the old udunits package
> against the new udunits2 package with the compatible udunits.h.
>
> I got the following compiler error with gcc 4.1.2 (Debian 32bit):
>
> /usr/local/include/udunits.h:57: error: declaration of 'ut_unit*
> utUnit::ut_unit'
> /usr/local/include/udunits2.h:17: error: changes meaning of 'ut_unit'
> from 'typedef union ut_unit ut_unit'
>
>
> The following program compiles nicely with gcc, but fails with above
> error with g++:
>
> #include <udunits.h>
> int main(int argc, char* args[]) {
> }
What happens if you move the definition of the "utUnit" typedef in "udunits.h"
from before the "#ifdef __cplusplus" to after it, i.e., in the file
"udunits.h", change
/*
* Unit-structure. Don't rely on or mess with the members!
*/
typedef struct utUnit {
ut_unit* ut_unit;
} utUnit;
#ifdef __cplusplus
extern "C" {
#endif
to
#ifdef __cplusplus
extern "C" {
#endif
/*
* Unit-structure. Don't rely on or mess with the members!
*/
typedef struct utUnit {
ut_unit* ut_unit;
} utUnit;
> Best regards,
>
> Heiko
>
> --
> Dr. Heiko Klein Tel. + 47 22 96 32 58
> Development Section / IT Department Fax. + 47 22 69 63 55
> Norwegian Meteorological Institute http://www.met.no
> P.O. Box 43 Blindern 0313 Oslo NORWAY
>
> _______________________________________________
> udunits mailing list
> address@hidden
> For list information, to unsubscribe, or change your membership options,
> visit: http://www.unidata.ucar.edu/mailing_lists/
Regards,
Steve Emmerson
Ticket Details
===================
Ticket ID: ATY-776694
Department: Support UDUNITS
Priority: Normal
Status: Closed