赞
踩
一 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
若扔不能解决,那么在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
五 [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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。