我正在尝试在运行 RHEL6.3 的服务器上制作 2 CUDA (4.2.9) 示例程序 bandwidthTest 和 deviceQuery,但收到错误“-lshrutil not found”。我用谷歌搜索了一下,发现在 CUDA 4.2 示例中不再需要 Shrutil 库。但我仍然得到错误。
我该如何克服这个问题?我需要安装任何库吗?
虽然并非所有示例都需要 shrutil,但有些示例需要,所以是的,您需要安装 shrutil 库
正如其他答案所建议的那样,您仍然需要拥有这个库。在类似 RedHat/CentOS 的 64 位系统中,该库以不同的名称编译,libshrutil.a
并且您无法通过-lshrutil
标志链接到它。要修复它,请使用正确的名称创建软链接:
ln -s /root/NVIDIA_GPU_Computing_SDK/shared/lib/libshrutil_x86_64.a /root/NVIDIA_GPU_Computing_SDK/shared/lib/libshrutil.a
然后启动 SDK 的顶级制作,一切都会正常工作。而已!
与版本 4.1 状态相关的发行说明(重点是我的):
一些CUDA C SDK 示例已经过重构,因此它们是自包含的,不再依赖并且不再与 CUTIL 或 SHRUTIL 库链接
这并不意味着所有样本不再依赖于它们。因此,如果您想构建所有示例,您仍然需要这两个库。