diff options
author | Binh-Minh Ribler <bmribler@hdfgroup.org> | 2002-02-25 04:34:54 (GMT) |
---|---|---|
committer | Binh-Minh Ribler <bmribler@hdfgroup.org> | 2002-02-25 04:34:54 (GMT) |
commit | bf543b4edb0310a9e39c9f8ae57a4c45d44d5422 (patch) | |
tree | 9708b5110eb130369cf2b2375b91f281fed5e0aa /c++ | |
parent | cebd817ae9d039919d473f6475f63ca693e640e0 (diff) | |
download | hdf5-bf543b4edb0310a9e39c9f8ae57a4c45d44d5422.zip hdf5-bf543b4edb0310a9e39c9f8ae57a4c45d44d5422.tar.gz hdf5-bf543b4edb0310a9e39c9f8ae57a4c45d44d5422.tar.bz2 |
[svn-r5005] Purpose:
DLL accommodation
Description:
In the inline constructor below:
DSetCreatPropList() : PropList( H5P_DATASET_CREATE) {}
H5P_DATASET_CREATE causes the famous "unresolved symbol" error
when building the Release version of dsets_cpp with DLL.
H5P_DATASET_CREATE uses H5P_CLS_DATASET_CREATE_g, which is
imported from hdf5dll. The inline constructor used in dsets.cpp
causes the use of H5P_CLS_DATASET_CREATE_g, which is then
considered undefined because dsets_cppdll is not using hdf5dll.
This only occurs in the Release version because the Debug build
disables inline.
Solution:
Made the affected constructor not inlined, i.e., its implementation
went in the cpp file.
Note that this problem does not occur in 1.4 branch because
H5P_DATASET_CREATE was defined differently, i.e., did not involve
external storage.
Platforms tested:
SunOS 5.7 (arabica)
Linux 6.2 (eirene)
Windows 2000
Diffstat (limited to 'c++')
-rw-r--r-- | c++/src/H5DcreatProp.cpp | 3 | ||||
-rw-r--r-- | c++/src/H5DcreatProp.h | 2 |
2 files changed, 4 insertions, 1 deletions
diff --git a/c++/src/H5DcreatProp.cpp b/c++/src/H5DcreatProp.cpp index 4f3d2e4..a323f72 100644 --- a/c++/src/H5DcreatProp.cpp +++ b/c++/src/H5DcreatProp.cpp @@ -15,6 +15,9 @@ namespace H5 { const DSetCreatPropList DSetCreatPropList::DEFAULT( H5P_DEFAULT ); +// Creates a dataset creation property list +DSetCreatPropList::DSetCreatPropList() : PropList( H5P_DATASET_CREATE) {} + // Copy constructor: makes a copy of the original DSetCreatPropList object; DSetCreatPropList::DSetCreatPropList( const DSetCreatPropList& orig ) : PropList( orig ) {} diff --git a/c++/src/H5DcreatProp.h b/c++/src/H5DcreatProp.h index 1c164b1..759c6ce 100644 --- a/c++/src/H5DcreatProp.h +++ b/c++/src/H5DcreatProp.h @@ -11,7 +11,7 @@ class __DLLCPP__ DSetCreatPropList : public PropList { static const DSetCreatPropList DEFAULT; // Creates a dataset creation property list - DSetCreatPropList() : PropList( H5P_DATASET_CREATE) {} + DSetCreatPropList(); // Copy constructor: creates a copy of a DSetCreatPropList object; // often used by the compiler when passing by value occurs. |