linux环境下安装opencv (c++) 编译undefined reference错误的解决办法

报错信息

$ make
[ 50%] Linking CXX executable DisplayImage
/usr/bin/ld: warning: libhdf5.so.103, needed by /usr/lib/libopencv_hdf.so.4.1.1, not found (try using -rpath or -rpath-link)
/usr/bin/ld: /usr/lib/libopencv_hdf.so.4.1.1: undefined reference to H5Dread' /usr/bin/ld: /usr/lib/libopencv_hdf.so.4.1.1: undefined reference toH5Fcreate'
/usr/bin/ld: /usr/lib/libopencv_hdf.so.4.1.1: undefined reference to H5T_NATIVE_UCHAR_g' /usr/bin/ld: /usr/lib/libopencv_hdf.so.4.1.1: undefined reference toH5Tget_size'
/usr/bin/ld: /usr/lib/libopencv_hdf.so.4.1.1: undefined reference to H5check_version' /usr/bin/ld: /usr/lib/libopencv_hdf.so.4.1.1: undefined reference toH5Tget_array_dims2'
/usr/bin/ld: /usr/lib/libopencv_hdf.so.4.1.1: undefined reference to H5Tclose' /usr/bin/ld: /usr/lib/libopencv_hdf.so.4.1.1: undefined reference toH5Dopen2'
/usr/bin/ld: /usr/lib/libopencv_hdf.so.4.1.1: undefined reference to H5open' /usr/bin/ld: /usr/lib/libopencv_hdf.so.4.1.1: undefined reference toH5Sset_extent_simple'
/usr/bin/ld: /usr/lib/libopencv_hdf.so.4.1.1: undefined reference to H5T_NATIVE_INT32_g' /usr/bin/ld: /usr/lib/libopencv_hdf.so.4.1.1: undefined reference toH5T_NATIVE_SCHAR_g'
/usr/bin/ld: /usr/lib/libopencv_hdf.so.4.1.1: undefined reference to H5Screate_simple' /usr/bin/ld: /usr/lib/libopencv_hdf.so.4.1.1: undefined reference toH5Aget_type'
/usr/bin/ld: /usr/lib/libopencv_hdf.so.4.1.1: undefined reference to H5Tcreate' /usr/bin/ld: /usr/lib/libopencv_hdf.so.4.1.1: undefined reference toH5Awrite'
/usr/bin/ld: /usr/lib/libopencv_hdf.so.4.1.1: undefined reference to H5Fclose' /usr/bin/ld: /usr/lib/libopencv_hdf.so.4.1.1: undefined reference toH5Tset_strpad'
/usr/bin/ld: /usr/lib/libopencv_hdf.so.4.1.1: undefined reference to H5Gclose' /usr/bin/ld: /usr/lib/libopencv_hdf.so.4.1.1: undefined reference toH5Aopen'
/usr/bin/ld: /usr/lib/libopencv_hdf.so.4.1.1: undefined reference to H5Tget_class' /usr/bin/ld: /usr/lib/libopencv_hdf.so.4.1.1: undefined reference toH5Gcreate2'
/usr/bin/ld: /usr/lib/libopencv_hdf.so.4.1.1: undefined reference to H5Aread' /usr/bin/ld: /usr/lib/libopencv_hdf.so.4.1.1: undefined reference toH5Dclose'
/usr/bin/ld: /usr/lib/libopencv_hdf.so.4.1.1: undefined reference to H5Pset_deflate' /usr/bin/ld: /usr/lib/libopencv_hdf.so.4.1.1: undefined reference toH5Adelete'
/usr/bin/ld: /usr/lib/libopencv_hdf.so.4.1.1: undefined reference to H5P_CLS_DATASET_CREATE_ID_g' /usr/bin/ld: /usr/lib/libopencv_hdf.so.4.1.1: undefined reference toH5Acreate2'
/usr/bin/ld: /usr/lib/libopencv_hdf.so.4.1.1: undefined reference to H5Dget_create_plist' /usr/bin/ld: /usr/lib/libopencv_hdf.so.4.1.1: undefined reference toH5Aopen_name'
/usr/bin/ld: /usr/lib/libopencv_hdf.so.4.1.1: undefined reference to H5Eset_auto2' /usr/bin/ld: /usr/lib/libopencv_hdf.so.4.1.1: undefined reference toH5Sselect_hyperslab'
/usr/bin/ld: /usr/lib/libopencv_hdf.so.4.1.1: undefined reference to H5Pset_chunk' /usr/bin/ld: /usr/lib/libopencv_hdf.so.4.1.1: undefined reference toH5Pget_layout'
/usr/bin/ld: /usr/lib/libopencv_hdf.so.4.1.1: undefined reference to H5P_CLS_LINK_ACCESS_ID_g' /usr/bin/ld: /usr/lib/libopencv_hdf.so.4.1.1: undefined reference toH5Pget_chunk'
/usr/bin/ld: /usr/lib/libopencv_hdf.so.4.1.1: undefined reference to H5Tinsert' /usr/bin/ld: /usr/lib/libopencv_hdf.so.4.1.1: undefined reference toH5Tequal'
/usr/bin/ld: /usr/lib/libopencv_hdf.so.4.1.1: undefined reference to H5Dget_space' /usr/bin/ld: /usr/lib/libopencv_hdf.so.4.1.1: undefined reference toH5Aget_space'
/usr/bin/ld: /usr/lib/libopencv_hdf.so.4.1.1: undefined reference to H5Fis_hdf5' /usr/bin/ld: /usr/lib/libopencv_hdf.so.4.1.1: undefined reference toH5Dget_type'
/usr/bin/ld: /usr/lib/libopencv_hdf.so.4.1.1: undefined reference to H5T_NATIVE_FLOAT_g' /usr/bin/ld: /usr/lib/libopencv_hdf.so.4.1.1: undefined reference toH5T_NATIVE_USHORT_g'
/usr/bin/ld: /usr/lib/libopencv_hdf.so.4.1.1: undefined reference to H5Pcreate' /usr/bin/ld: /usr/lib/libopencv_hdf.so.4.1.1: undefined reference toH5Eget_auto2'
/usr/bin/ld: /usr/lib/libopencv_hdf.so.4.1.1: undefined reference to H5Aclose' /usr/bin/ld: /usr/lib/libopencv_hdf.so.4.1.1: undefined reference toH5Tset_size'
/usr/bin/ld: /usr/lib/libopencv_hdf.so.4.1.1: undefined reference to H5Tarray_create2' /usr/bin/ld: /usr/lib/libopencv_hdf.so.4.1.1: undefined reference toH5Pclose'
/usr/bin/ld: /usr/lib/libopencv_hdf.so.4.1.1: undefined reference to H5Sget_simple_extent_ndims' /usr/bin/ld: /usr/lib/libopencv_hdf.so.4.1.1: undefined reference toH5Screate'
/usr/bin/ld: /usr/lib/libopencv_hdf.so.4.1.1: undefined reference to H5Dwrite' /usr/bin/ld: /usr/lib/libopencv_hdf.so.4.1.1: undefined reference toH5Dextend'
/usr/bin/ld: /usr/lib/libopencv_hdf.so.4.1.1: undefined reference to H5Tget_super' /usr/bin/ld: /usr/lib/libopencv_hdf.so.4.1.1: undefined reference toH5Tget_native_type'
/usr/bin/ld: /usr/lib/libopencv_hdf.so.4.1.1: undefined reference to H5Lexists' /usr/bin/ld: /usr/lib/libopencv_hdf.so.4.1.1: undefined reference toH5T_NATIVE_INT_g'
/usr/bin/ld: /usr/lib/libopencv_hdf.so.4.1.1: undefined reference to H5T_C_S1_g' /usr/bin/ld: /usr/lib/libopencv_hdf.so.4.1.1: undefined reference toH5Tcopy'
/usr/bin/ld: /usr/lib/libopencv_hdf.so.4.1.1: undefined reference to H5Sclose' /usr/bin/ld: /usr/lib/libopencv_hdf.so.4.1.1: undefined reference toH5T_NATIVE_SHORT_g'
/usr/bin/ld: /usr/lib/libopencv_hdf.so.4.1.1: undefined reference to H5T_NATIVE_DOUBLE_g' /usr/bin/ld: /usr/lib/libopencv_hdf.so.4.1.1: undefined reference toH5Sget_simple_extent_dims'
/usr/bin/ld: /usr/lib/libopencv_hdf.so.4.1.1: undefined reference to H5Dcreate2' /usr/bin/ld: /usr/lib/libopencv_hdf.so.4.1.1: undefined reference toH5Fopen'
collect2: 错误:ld 返回 1
make[2]: *** [CMakeFiles/DisplayImage.dir/build.make:133:DisplayImage] 错误 1
make[1]: *** [CMakeFiles/Makefile2:76:CMakeFiles/DisplayImage.dir/all] 错误 2
make: *** [Makefile:84:all] 错误 2

解决方案

安装软件包:
vtk hdf5 glew

参考文献

https://stackoverflow.com/questions/57602675/building-a-hollow-world-error-using-cmake-and-opencv-undefined-reference-to-v

转载于:https://www.cnblogs.com/zbqhc/p/11488164.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值