This archive contains answers to questions sent to Unidata support through mid-2025. Note that the archive is no longer being updated. We provide the archive for reference; many of the answers presented here remain technically correct, even if somewhat outdated. For the most up-to-date information on the use of NSF Unidata software and data services, please consult the Software Documentation first.
Hi again, I wrote: > The use of the "declare" macro in ncvalues.hh (and the "implement" macro > in other netCDF C++ source files) uses the definition of these macros > that is supposed to be provided by including the following statement: > > #include <generic.h> > > The macros in this file are widely used to paste tokens together to form > new names. > > I've appended a copy of the version of this file distributed with the > GNU C++ library, in case it's not available with the MSDV C++ 4.0. I decided a better way to handle this problem is to get rid of the reference to <generic.h>, since it's apparently not included with all C++ development environments anymore. I just remove the #include <generic.h> from ncvalues.hh and replace it with the following: // macros to glue tokens together to form new names (used to be in generic.h) #define name2(a,b) a ## b #define declare(clas,t) name2(clas,declare)(t) #define implement(clas,t) name2(clas,implement)(t) This fix will be in the next release. You may also want to be aware of another set of patches to the C++ interface available from http://www.unidata.ucar.edu/packages/netcdf/known_problems.html#cxxnclong that fixes a problem in the current C++ interface implementation. --Russ _____________________________________________________________________ Russ Rew UCAR Unidata Program address@hidden http://www.unidata.ucar.edu