【发布时间】:2013-11-13 07:23:07
【问题描述】:
我正在尝试使用 ubuntu 12.04 在 nsight 上编译 CUDA 5.5 应用程序
起初我遇到了一个关于缺少头文件的问题,例如#include <helper_cuda_drvapi.h>
为了解决这个问题,我将路径 /usr/include/samples/common/inc 添加到我的包含列表中。
这解决了缺少头文件的问题,但导致了一个新问题。
尝试在 nsight 上编译程序时出现以下错误
/usr/local/cuda-5.5/samples/common/inc/helper_cuda_drvapi.h:278:未定义对
cuInit' /usr/local/cuda-5.5/samples/common/inc/helper_cuda_drvapi.h:279: undefined reference tocuDeviceGetCount'的引用 /usr/local/cuda-5.5/samples/common/inc/helper_cuda_drvapi.h:290:未定义对cuDeviceGetName' /usr/local/cuda-5.5/samples/common/inc/helper_cuda_drvapi.h:291: undefined reference tocuDeviceComputeCapability'的引用 /usr/local/cuda-5.5/samples/common/inc/helper_cuda_drvapi.h:294:未定义对cuDeviceGetAttribute' /usr/local/cuda-5.5/samples/common/inc/helper_cuda_drvapi.h:327: undefined reference tocuDeviceGetAttribute'的引用 /usr/local/cuda-5.5/samples/common/inc/helper_cuda_drvapi.h:330:对cuDeviceGetAttribute' /usr/local/cuda-5.5/samples/common/inc/helper_cuda_drvapi.h:333: undefined reference tocuDeviceComputeCapability'的未定义引用 /usr/local/cuda-5.5/samples/common/inc/helper_cuda_drvapi.h:336:未定义对“cuDeviceGetAttribute”的引用
有什么建议吗?
提前致谢
**********************更新************
基本上归结为我正在尝试在 linux 上编译“CUDA Video Decoder GL API”示例程序,但由于头文件存在一些错误,它无法正常工作。有谁知道这是为什么?
更新
【问题讨论】:
-
尝试在
helper_cuda_drvapi.h之前包含cuda.h和cuda_runtime.h。 -
我看到他们是这样用 nvcc 修复它的,但我认为没有办法设置首先用 nsight 编译的内容
-
@RogerDahl 我相信您的评论是正确的。 OP 显然不明白,nsight EE 和 nvcc 的区别也不清楚。您能否将您的评论扩展为答案?我会赞成。
-
@RobertCrovella,在this answer 中,@talonmies 提到 nvcc 自动包含所需的标头。我猜
helper_cuda_drvapi.h是示例框架的一部分,仅用于.cu文件,因此不包括 cuda.h 本身?
标签: cuda linker include header-files nsight