0
点赞
收藏
分享

微信扫一扫

jetson nano 编译出现/usr/bin/ld: cannot find -lcudart


问题描述

jetson nano 编译出现/usr/bin/ld: cannot find -lcudart

问题分析

在 Jetson Nano 上编译时遇到 /usr/bin/ld: cannot find -lcudart 错误,表示编译器无法找到名为 libcudart 的 CUDA 运行时库。

CMakeLists.txt 里面添加库路径。

解决办法

要解决这个问题,您可以尝试以下步骤:

检查 CUDA 安装:一般这个在nano上都是jetpack 已经安装了。

检查库文件是否存在:确保 CUDA 运行时库文件 libcudart.so 存在于库路径中。您可以使用以下命令来查找该文件:

find /-name "libcudart.so"

如果找不到该文件,请检查您的 JetPack 安装是否完整,并根据需要重新安装 JetPack。
如果找到了,就把这个路径 写到编译选项中。

最终我的解决办法,在CMakeLists.txt添加

# jetson nano 上
if(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "aarch64")
    include_directories(/usr/local/cuda/include)
    # 向工程添加多个特定的库文件搜索路径
    link_directories(/usr/local/cuda/lib64)
# x86上
elseif(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "x86_64")
    include_directories(/usr/local/cuda-11.7/include)
    # 向工程添加多个特定的库文件搜索路径
    link_directories(/usr/local/cuda-11.7/lib64)
endif()

重新编译,问题解决。

一般 /usr/local/cuda 路径都是一些 /usr/local/cuda-10.2 或者/usr/local/cuda-11.4等不同版本的软链接。


举报

相关推荐

0 条评论