Folks,
The EPICS areaDetector software has been successfully using the HDF5 library (1.8.7) on Windows since R1-7, about 2 years ago. However, only the statically linked version of the
library was installed, which meant that areaDetector applications needed to be statically linked.
I am now writing a driver that must be dynamically linked, because it uses the Microsoft Common Library Runtime (/clr switch on linker). So I want to also install and use the dynamic
version of the HDF5 library. I installed the dynamic versions of the required .lib files from HDF5-1.8.7_CMake_x64_shared.zip, from the HDF Web site.
When I try to build the ADApp\nexusSrc directory it compiles fine, but I get these errors it tries to link the DLL. Does anyone know what I am doing wrong?
J:\epics\devel\areaDetector\ADApp\nexusSrc>make
make -C O.windows-x64-dynamic -f ../Makefile TOP=../../.. T_A=windows-x64-dynamic install
make[1]: Entering directory `J:/epics/devel/areaDetector/ADApp/nexusSrc/O.windows-x64-dynamic'
link /nologo /subsystem:windows /dll /LTCG /incremental:no /opt:ref /release /MACHINE:X64 /implib:NeXus.lib /out:NeXus.dll napi.obj napi5.obj napiu.obj nxdataset.obj
nxio.obj nxstack.obj nxxml.obj stptok.obj ..\\..\\..\\lib\\windows-x64-dynamic\\hdf5.lib ..\\..\\..\\lib\\windows-x64-dynamic\\libszip.lib ..\\..\\..\\lib\\windows-x64-dynamic\\zlib.lib
napi5.obj : error LNK2001: unresolved external symbol H5T_NATIVE_SHORT_g
napi5.obj : error LNK2001: unresolved external symbol H5T_NATIVE_INT32_g
napi5.obj : error LNK2001: unresolved external symbol H5T_NATIVE_INT_g
napi5.obj : error LNK2001: unresolved external symbol H5T_NATIVE_INT8_g
napi5.obj : error LNK2001: unresolved external symbol H5T_NATIVE_UINT64_g
napi5.obj : error LNK2001: unresolved external symbol H5T_NATIVE_USHORT_g
napi5.obj : error LNK2001: unresolved external symbol H5T_NATIVE_UINT_g
napi5.obj : error LNK2001: unresolved external symbol H5T_NATIVE_UCHAR_g
napi5.obj : error LNK2001: unresolved external symbol H5P_CLS_DATASET_CREATE_g
napi5.obj : error LNK2001: unresolved external symbol H5T_NATIVE_SCHAR_g
napi5.obj : error LNK2001: unresolved external symbol H5T_NATIVE_FLOAT_g
napi5.obj : error LNK2001: unresolved external symbol H5T_NATIVE_UINT8_g
napi5.obj : error LNK2001: unresolved external symbol H5T_C_S1_g
napi5.obj : error LNK2001: unresolved external symbol H5T_NATIVE_INT16_g
napi5.obj : error LNK2001: unresolved external symbol H5T_NATIVE_UINT16_g
napi5.obj : error LNK2001: unresolved external symbol H5T_NATIVE_UINT32_g
napi5.obj : error LNK2001: unresolved external symbol H5P_CLS_FILE_ACCESS_g
napi5.obj : error LNK2001: unresolved external symbol H5T_NATIVE_INT64_g
napi5.obj : error LNK2001: unresolved external symbol H5T_NATIVE_DOUBLE_g
NeXus.dll : fatal error LNK1120: 19 unresolved externals
make[1]: *** [NeXus.dll] Error 1120
make[1]: Leaving directory `J:/epics/devel/areaDetector/ADApp/nexusSrc/O.windows-x64-dynamic'
make: *** [install.windows-x64-dynamic] Error 2
Thanks,
Mark