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
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐