Hi Fie, next time you bundle a tarball, make the build script executable. You
also may want to consider making a configure script.
I have netCDF-3.6.1 installed and get the errors below on my Fedora 64 bit
Linux server. Is there a missing class?
Thank you,
Dr. John M. Huddleston
ncatt.h: In function ÃâËT feiliu::get_att_value(NcAtt*)Ãââ:
ncatt.h:101: error: there are no arguments to ÃâËassertÃââ that depend on a
template parameter, so a declaration of ÃâËassertÃââ must be available
ncatt.h:101: error: (if you use ÃâË-fpermissiveÃââ, G++ will accept your code,
but allowing the use of an undeclared name is deprecated)
ncatt.h:112: error: there are no arguments to ÃâËassertÃââ that depend on a
template parameter, so a declaration of ÃâËassertÃââ must be available
ONetCDFFile.h: In member function ÃâËNcVar* feiliu::ONetCDFFile::copy_var(const
NcVar*, T*, const size_t*, const size_t*)Ãââ:
ONetCDFFile.h:78: error: there are no arguments to ÃâËassertÃââ that depend on
a template parameter, so a declaration of ÃâËassertÃââ must be available
ONetCDFFile.h:81: error: there are no arguments to ÃâËassertÃââ that depend on
a template parameter, so a declaration of ÃâËassertÃââ must be available
ONetCDFFile.h: In member function ÃâËNcVar* feiliu::ONetCDFFile::copy_var(const
NcVar*, T*, const size_t*, const size_t*) [with T = const double]Ãââ:
ncio.h:116: instantiated from ÃâËvoid feiliu::write_data(NcFile*, NcVar*,
feiliu::ONetCDFFile*, const feiliu::array<T>&, size_t*, size_t*, bool) [with T
= double]Ãââ
ncio.h:139: instantiated from ÃâËvoid feiliu::write_data(NcFile*, NcVar*,
feiliu::ONetCDFFile*, const feiliu::array<T>&, bool) [with T = double]Ãââ
ncio.h:150: instantiated from ÃâËvoid feiliu::write_data(NcFile*, const
char*, feiliu::ONetCDFFile*, const feiliu::array<T>&, bool) [with T = double]Ãââ
testnclib.cpp:46: instantiated from here
ONetCDFFile.h:75: error: ÃâËassertÃââ was not declared in this scope
ncatt.h: In function ÃâËT feiliu::get_att_value(NcAtt*)Ãââ:
ncatt.h:101: error: there are no arguments to ÃâËassertÃââ that depend on a
template parameter, so a declaration of ÃâËassertÃââ must be available
ncatt.h:101: error: (if you use ÃâË-fpermissiveÃââ, G++ will accept your code,
but allowing the use of an undeclared name is deprecated)
ncatt.h:112: error: there are no arguments to ÃâËassertÃââ that depend on a
template parameter, so a declaration of ÃâËassertÃââ must be available
ONetCDFFile.h: In member function ÃâËNcVar* feiliu::ONetCDFFile::copy_var(const
NcVar*, T*, const size_t*, const size_t*)Ãââ:
ONetCDFFile.h:78: error: there are no arguments to ÃâËassertÃââ that depend on
a template parameter, so a declaration of ÃâËassertÃââ must be available
ONetCDFFile.h:81: error: there are no arguments to ÃâËassertÃââ that depend on
a template parameter, so a declaration of ÃâËassertÃââ must be available
ONetCDFFile.cpp: In member function ÃâËvirtual NcDim*
feiliu::ONetCDFFile::add_dim(const char*, long int)Ãââ:
ONetCDFFile.cpp:20: error: ÃâËassertÃââ was not declared in this scope
ONetCDFFile.cpp: In member function ÃâËvirtual NcDim*
feiliu::ONetCDFFile::add_dim(const char*)Ãââ:
ONetCDFFile.cpp:32: error: ÃâËassertÃââ was not declared in this scope
ONetCDFFile.cpp: In member function ÃâËvirtual NcDim*
feiliu::ONetCDFFile::add_dim(const NcDim*)Ãââ:
ONetCDFFile.cpp:45: error: ÃâËassertÃââ was not declared in this scope
ONetCDFFile.cpp: In member function ÃâËvirtual NcVar*
feiliu::ONetCDFFile::add_var(const char*, NcType, const NcDim*, const NcDim*,
const NcDim*, const NcDim*, const NcDim*)Ãââ:
ONetCDFFile.cpp:59: error: ÃâËassertÃââ was not declared in this scope
ONetCDFFile.cpp: In member function ÃâËvirtual NcVar*
feiliu::ONetCDFFile::add_var(const char*, NcType, int, const NcDim**)Ãââ:
ONetCDFFile.cpp:72: error: ÃâËassertÃââ was not declared in this scope
ONetCDFFile.cpp: In member function ÃâËvirtual NcVar*
feiliu::ONetCDFFile::add_var(const NcVar*)Ãââ:
ONetCDFFile.cpp:85: error: ÃâËassertÃââ was not declared in this scope
ONetCDFFile.cpp: In member function ÃâËvirtual NcVar*
feiliu::ONetCDFFile::copy_var(NcVar*)Ãââ:
ONetCDFFile.cpp:107: error: ÃâËassertÃââ was not declared in this scope
ONetCDFFile.cpp: In member function ÃâËvirtual NcVar*
feiliu::ONetCDFFile::copy_var(const NcVar*, void*)Ãââ:
ONetCDFFile.cpp:154: error: ÃâËassertÃââ was not declared in this scope
ONetCDFFile.cpp: In member function ÃâËvirtual bool
feiliu::ONetCDFFile::add_att(NcAtt*)Ãââ:
ONetCDFFile.cpp:196: error: ÃâËassertÃââ was not declared in this scope
ncatt.h: In function ÃâËbool feiliu::copy_ncatt(T*, NcAtt*) [with T = NcVar]Ãââ:
ONetCDFFile.cpp:99: instantiated from here
ncatt.h:39: error: ÃâËassertÃââ was not declared in this scope
ncatt.h: In function ÃâËbool feiliu::copy_ncatt(T*, NcAtt*) [with T =
feiliu::ONetCDFFile]Ãââ:
ONetCDFFile.cpp:208: instantiated from here
ncatt.h:39: error: ÃâËassertÃââ was not declared in this scope
ncatt.h: In function ÃâËT feiliu::get_att_value(NcAtt*)Ãââ:
ncatt.h:101: error: there are no arguments to ÃâËassertÃââ that depend on a
template parameter, so a declaration of ÃâËassertÃââ must be available
ncatt.h:101: error: (if you use ÃâË-fpermissiveÃââ, G++ will accept your code,
but allowing the use of an undeclared name is deprecated)
ncatt.h:112: error: there are no arguments to ÃâËassertÃââ that depend on a
template parameter, so a declaration of ÃâËassertÃââ must be available
ncatt.cpp: In function ÃâËchar* feiliu::get_att_string(NcAtt*)Ãââ:
ncatt.cpp:4: error: ÃâËassertÃââ was not declared in this scope
-----Original Message-----
From: owner-netcdfgroup@xxxxxxxxxxxxxxxx on behalf of Fei Liu
Sent: Thu 4/6/2006 12:28 PM
To: Russ Rew
Cc: Fei Liu; netcdfgroup@xxxxxxxxxxxxxxxx; Hanson, Kurt
Subject: Announcing netcdf c++ wrapper library
Hi Group,
netcdf c++ wrapper library is a library around existing netcdf c++
library provided by unidata. It can be downloaded directly from here:
ftp://ftp.gfdl.noaa.gov/pub/fil/netcdflib.tgz
This library introduces a few key modern c++ techniques to class design
and interface design. A new class, ONetCDFFile::NcFile, is introduced to
make writing a netCDF file much easier based on an existing input netCDF
file. This class contains template member functions that copies netCDF
variables from input file to output file. It also provides book keeping
records of attributes, dimensions, variables copied from one file to
another.
ncatt.h and ncatt.cpp captures key methods to copy attributes from a
input
object (NcFile or NcVar) to an output object. This wrapper uses facade
design to provide a unified function interface. It also provides a
template member function to easily retrieve value of a given attribute.
ncio.h provides template functions to read and write data from/to a
netCDF
file. This class is tightly coupled with array.h. array.h is a small and
efficient multiple dimension array implementation. Its access methods
resembles fortran syntax and can be used very intuitively.
All class and methods reside in namespace 'feiliu' to prevent name
collision with other similar libraries.
To build the example, use 'build'. All source codes are ISO c+á standard
compliant.
Let me know if you have any suggestions to improve this library. Thanks!
Fei
On Wed, 5 Apr 2006, Russ Rew wrote:
> Hi Fei,
>
>> Hi Russ and Kurt, I have finished coding some wrapper interfaces to
make
>> using netCDF in C++ a little easier. I don't have a convenient way to
>> publish my code (noaa has web page design requirement). Let me know
if you
>> want me to send a zip file to you. Enclosed is the source code of a
test
>> app to show you the improvements I've made over existing netcdfcpp
>> classes (introducing namespace, facade design, template to
netcdfcpp).
>
> Yes, thanks, please send a zip file with your improvements!
>
> I would like to test your changes for backwards compatibility and
> maybe incorporate them in a future release, with credit to you, of
> course. I also have a summer student working on the C++ interface
> this summer. I might have her start with your wrappers and see what
> other improvements are possible while maintaining backwards
> compatibility with the current interface.
>
> Thanks again for your efforts in improving netCDF.
>
> --Russ
>
> _____________________________________________________________________
>
> Russ Rew UCAR Unidata Program
> russ@xxxxxxxxxxxxxxxx http://www.unidata.ucar.edu
>
>
==============================================================================
To unsubscribe netcdfgroup, visit:
http://www.unidata.ucar.edu/mailing-list-delete-form.html
==============================================================================
==============================================================================
To unsubscribe netcdfgroup, visit:
http://www.unidata.ucar.edu/mailing-list-delete-form.html
==============================================================================