Hi Stig,

You could build your own debug version from the source code:

https://www.hdfgroup.org/HDF5/release/obtain5.html#obtain

​Binh-Minh

________________________________________
From: Hdf-forum <[email protected]> on behalf of Stig 
Hornang <[email protected]>
Sent: Thursday, January 14, 2016 9:11 AM
To: [email protected]
Subject: [Hdf-forum] Undefined reference to static const class members (MSVC 
2013 and shared library)

I'm trying to compile  the following (main.cpp):

#include "H5Cpp.h"

using namespace H5;

int main (void)
{
     H5File file("test.h5", H5F_ACC_TRUNC);
}

The H5File constructor used here has the following signature:

H5File(const char* name, unsigned int flags, const FileCreatPropList&
create_plist = FileCreatPropList::DEFAULT, const FileAccPropList&
access_plist = FileAccPropList::DEFAULT);

...so it as two additional default parameters. I get undefined
reference when the linker is trying to resolve those:

main.obj : error LNK2019: unresolved external symbol "public: static
class H5::FileAccPropList const & const H5::FileAccPropList::DEFAULT"
(?DEFAULT@FileAccPropList@H5@@2ABV12@B) referenced in function _main

main.obj : error LNK2019: unresolved external symbol "public: static
class H5::FileCreatPropList const & const
H5::FileCreatPropList::DEFAULT"
(?DEFAULT@FileCreatPropList@H5@@2ABV12@B) referenced in function

I'm using QtCreator since I'm going to use the library in a Qt
application. The .pro file for QtCreator is as follows:

TARGET = hdf5_test
TEMPLATE = app
SOURCES += main.cpp
INCLUDEPATH += "C:/Program Files (x86)/HDF_Group/HDF5/1.8.16/include"
LIBS += -L"C:/Program Files (x86)/HDF_Group/HDF5/1.8.16/lib/" -lhdf5 -lhdf5_cpp

- I'm linking against the shared library version
- I have no preprocessor directives defined
- I'm using the contents of this installer: HDF5-1.8.16-win32.msi

Can someone provide me with a working C++ example for this latest library?

Since I'm not using CMake, what is useful for me in an example is:
code, include path, library path, preprocessor defines and possibly
compiler switcher.

Is one option to use the static versions instead? If so how can I
debug my application if only release builds are available? (Cannot mix
release and debug binaries).

_______________________________________________
Hdf-forum is for HDF software users discussion.
[email protected]
http://lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org
Twitter: https://twitter.com/hdf5
_______________________________________________
Hdf-forum is for HDF software users discussion.
[email protected]
http://lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org
Twitter: https://twitter.com/hdf5

Reply via email to