当前位置:   article > 正文

记录TensorRT使用时发现的问题和解决方法_uncaught exception detected: unable to open librar

uncaught exception detected: unable to open library: libnvinfer_plugin.so.8

No rule to make target ‘/usr/TensorRT-8.5.1.7/targets/x86_64-linux-gnu/lib/libnvinfer_builder_resource.so’, needed by ‘run’. Stop.

使用find命令找到libnvinfer_builder_resource.so位置, 复制到/usr/lib中.

error while loading shared libraries: libnvinfer_plugin.so.8: cannot open shared object file: No such file or directory

解决方法同(一), 也是把libnvinfer_plugin.so.8复制到/usr/lib中

Could NOT find CUDA (missing: CUDA_CUDART_LIBRARY) (found version

clion 中添加cmake环境变量 -DCUDA_CUDART_LIBRARY=/usr/local/cuda/lib64/libcudart.so
在这里插入图片描述
四 /usr/bin/ld: cannot find -lnvinfer
/usr/bin/ld: cannot find -lnvinfer_plugin
/usr/bin/ld: cannot find -lnvonnxparser

libnvinfer.so.8: cannot open shared object file: No such file or directory
TensorRT下的lib文件夹文件全部拷贝到/usr/lib文件夹中可解决问题. 若安装了多个版本TensorRT, 这种版本就很low,因为会混乱多个版本动态库.
在~/.bashrc文件添加以下两行

export LD_LIBRARY_PATH=/usr/TensorRT-8.5.1.7/lib:$LD_LIBRARY_PATH
export LIBRARY_PATH=/usr/TensorRT-8.5.1.7/lib:$LIBRARY_PATH
  • 1
  • 2

若扔不能解决,那么在cmakelists.txt中添加
link_directories(/usr/local/TensorRT-8.5.1.7/lib)

还不行就指定到环境变量中
在这里插入图片描述
如果以上都不能解决,那就终极解决方案: 在/usr/lib中添加这几个动态库的软连接,至少,变更TensorRT版本重新指定软连接就好.

cd /usr/lib
ln -s /usr/local/TensorRT-8.5.1.7/lib/libnvinfer_plugin.so libnvinfer_plugin.so
  • 1
  • 2

五 [libLoader.h::DynamicLibrary::54] Error Code 6: Internal Error (Unable to load library: libnvinfer_builder_resource.so.8.5.1)
使用find找到目标文件路径,然后复制到/usr/lib中

find /usr -iname libnvinfer_builder_resource.so.8.5.1

cp /usr/local/TensorRT-8.5.1.7/targets/x86_64-linux-gnu/lib/libnvinfer_builder_resource.so.8.5.1 /usr/lib
  • 1
  • 2
  • 3
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/422048
推荐阅读
相关标签
  

闽ICP备14008679号