#eclipse
#eclipse
Вопрос:
Я столкнулся с проблемой с библиотеками hdf5 в eclipse CDT. При запуске тестовой программы на C я получил оперативную информацию, как показано ниже:
/home/lsl/Documents /CODE/eclipse-workspace/ReadWriteHDF5/Debug/ReadWriteHDF5: ошибка при загрузке общих библиотек: libhdf5.so.103: не удается открыть общий объектный файл: такого файла или каталога нет.
libhdf5.so
подтверждено, что он существует в /usr/local/lib/hdf5-1.10.4/lib
и /usr/local/lib/hdf5-1.10.4/lib
находится внутри LD_LIBRARY_PATH
. У вас есть какие-либо указания?
Большое спасибо!
Ответ №1:
Похоже, Linux — ваша основная операционная система. Посмотрите, что происходит при вводе
sudo apt install libhdf5-dev
поскольку он может заменить пакет, который вы ищете. У меня это сработало.
Ответ №2:
Я сталкиваюсь с аналогичной проблемой при компиляции кода C , использующего Armadillo. Поскольку у меня установлена anaconda, я нахожу libhdf5.so.103
файл, расположенный по адресу ~/anaconda3/lib
. После того, как я добавляю путь к LD_LIBRARY_PATH
, ошибка исчезает.
Комментарии:
1. Кажется, это работает при компиляции Armadillo, но при сборке Ensmallen проблема возвращается.
Ответ №3:
Сегодня я столкнулся с точно такой же проблемой (возможно, единственное отличие заключается в том, что жалоба на нее libhdf5.so.200
отсутствовала). В итоге я выяснил, что система (Ubuntu 20.04) уже поставляется с libhdf5-dev
версией 1.10.4, и это каким-то образом конфликтовало с установленной мной версией 1.12.2. Моя командная строка сборки выглядит следующим образом:
clang <...> -L/my/custom/path/to/hdf5-1.12.2/hdf5/lib <...>
Поскольку системный hdf5 находится в стандартном расположении, компоновщик находит одновременно две версии, вызывая проблему.
Мое решение таково:
sudo apt purge libhdf5-dev
Надеюсь, это поможет.