Я создал функцию открытия файла HDF5, как показано ниже:
int OpenHDF5(string sFileName)
{
// Check for valid HDF5 file
if (!H5File::isHdf5(sFileName.c_str()))
{
// Invalid HDF5 file
return -1
}
// Try block to detect exceptions raised by any of the calls inside it
try
{
// Turn off the auto-printing when failure occurs so that we can handle the errors appropriately
Exception::dontPrint();
// Now Open the file
H5File file( sFileName.c_str(), H5F_ACC_RDONLY );
}
// Catch failure caused by the H5File operations
catch( FileIException error )
{
error.printError();
return -1
}
return 0
}
Ошибка компиляции не возникла, но не удалось связать со следующими исключениями:
Связывание ...
Создание библиотеки F: \ Tips \ Debug \ Tips.lib и объекта F: \ Tips \ Debug \ Tips.exp
TwinSatObservation.obj: ошибка LNK2001: неразрешенный внешний символ "public: статический класс H5 :: FileCreatPropList const H5 :: FileCreatPropList :: DEFAULT" (? DEFAULT @ FileCreatPropList @ H5 @@ 2V12 @ B)
TwinSatObservation.obj: ошибка LNK2001: неразрешенный внешний символ "public: статический класс H5 :: FileAccPropList const H5 :: FileAccPropList :: DEFAULT" (? DEFAULT @ FileAccPropList @ H5 @@ 2V12 @ B)
F: \ Tips \ Debug \ Tips.exe: фатальная ошибка LNK1120: 2 неразрешенных внешних кода
Я добавил следующие библиотеки в поле ввода «Дополнительные зависимости» компоновщика VS 2008
hdf5dll.lib
hdf5_hldll.lib
hdf5_cppdll.lib
hdf5_hl_cppdll.lib
Скажите, пожалуйста, какую библиотеку я забыл добавить? Большое спасибо!