我编写了一个新的CUDA程序,但是在编译时出现错误$.get is not a function
。因此,我添加了'checkCudaErrors' was not declared in this scope
,但仍然遇到相同的问题。
我使用Visual Studio Code打开了文件helper_cuda.h,发现该文件大部分是灰色的。问题是我没有定义#include "helper_cuda.h"
,所以我添加了__DRIVER_TYPES_H__
。但这没用。在文件driver_types.h中,它表明我已经具有定义#include "driver_types.h"
。我该如何解决?
真正的问题是,文件driver_tyeps.h显示我已经具有__DRIVER_TYPES_H__
的定义,但是helper_cuda.h显示我没有该定义。
答案 0 :(得分:0)
您必须自己定义它:
#define checkCudaErrors(call) \
do { \
cudaError_t err = call; \
if (err != cudaSuccess) { \
printf("CUDA error at %s %d: %s\n", __FILE__, __LINE__, \
cudaGetErrorString(err)); \
exit(EXIT_FAILURE); \
} \
} while (0)
答案 1 :(得分:0)
我已经通过更改include语句的顺序解决了我的问题。 一开始,我的程序是这样的:
#include "helper_cuda.h"
#include "driver_types.h"
但现在是:
#include "driver_types.h"
#include "helper_cuda.h"
我不知道为什么,但是它可以工作。