[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[LDM #PNF-494350]: #include "ldm.h" problem



Jim,

> I am trying to compile some old C++ files of ours that include ldm.h. It
> used to work with ldm-5.2.2 and gcc-3.2.3, but I am trying to upgrade to
> ldm-6.6.5 and gcc-4.1.2. Here are the errors I am getting:
> 
> /usr/local/ldm/include/ldm.h:386: error: declaration of 'prod_class*
> feedpar::prod_class'
> /usr/local/ldm/include/ldm.h:372: error: changes meaning of 'prod_class'
> from 'typedef struct prod_class prod_class'
> /usr/local/ldm/include/ldm.h:520: error: declaration of 'prod_class*
> fornme_reply_t::<anonymous union>::prod_class'
> /usr/local/ldm/include/ldm.h:372: error: changes meaning of 'prod_class'
> from 'typedef struct prod_class prod_class'
> make[3]: *** [bddsReader.o] Error 1
> 
> I would greatly appreciate any suggestions you might have.

I found this in the CHANGE_LOG file for version 6.7.0:

            Added the typedef "prod_class_t" to the header-file "ldm.h"
            and changed all code and documentation to use it instead of
            the typedef "prod_class".  This was done to allow "ldm.h" to
            be processed by a C++ compiler.  The typedef "prod_class"
            still exists for backward compatibility -- though it is no
            longer used in the code.  Both C and C++ programmers should
            now use "prod_class_t" instead of "prod_class".

I recommend getting the latest version of the LDM and changing all your uses of 
"prod_class" to "prod_class_t".

> Thanks,
> Jim

Regards,
Steve Emmerson

Ticket Details
===================
Ticket ID: PNF-494350
Department: Support LDM
Priority: Normal
Status: Closed


NOTE: All email exchanges with Unidata User Support are recorded in the Unidata inquiry tracking system and then made publicly available through the web. If you do not want to have your interactions made available in this way, you must let us know in each email you send to us.