我使用 Qt&OpenCV 开发 C++ 应用程序。上周我构建应用程序时没有任何错误,但现在我收到错误:
/usr/bin/ld: warning: libhdf5.so.200, needed by /opt/opencv3/lib/libopencv_hdf.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: /opt/opencv3/lib/libopencv_hdf.so: undefined reference to `H5Dread'
/usr/bin/ld: /opt/opencv3/lib/libopencv_hdf.so: undefined reference to `H5Fcreate'
/usr/bin/ld: /opt/opencv3/lib/libopencv_hdf.so: undefined reference to `H5T_NATIVE_UCHAR_g'
/usr/bin/ld: /opt/opencv3/lib/libopencv_hdf.so: undefined reference to `H5Tget_size'
/usr/bin/ld: /opt/opencv3/lib/libopencv_hdf.so: undefined reference to `H5check_version'
... (hdf5 related errors)
我使用 arch linux,我不确定这个错误是否与上次更新有关。但是,在/opt/opencv3/lib
目录中,我有这个:
ll | grep hdf
lrwxrwxrwx 1 root root 20 Feb 7 13:08 libopencv_hdf.so -> libopencv_hdf.so.3.4
lrwxrwxrwx 1 root root 23 Feb 7 13:08 libopencv_hdf.so.3.4 -> libopencv_hdf.so.3.4.19
-rwxr-xr-x 1 root root 55144 Feb 7 13:08 libopencv_hdf.so.3.4.19
因此libopencv_hdf.so
链接到libopencv_hdf.so.3.4.19
并且它存在于那里。但为什么我的构建说libopencv_hdf.so
需要libhdf5.so.200
?
我正在使用opencv3-opt
AUR 的软件包。有解决问题的想法吗?