在一个包含许多 .cu 文件和一个 .h 文件的项目中,我在 main.cu 中定义了一些常量,如下所示(仅显示一个作为示例):
__device__ __constant__ unsigned int x[1];
#include "second.cu"
... some code...
在文件 second.cu 中,我尝试使用该常量,如下所示:
cudaMemcpyToSymbol(x, y, sizeof(xx));
但是 Eclipse 给了我错误:标识符“x”未定义。
我注意到我的 main.cu 中的#includes,就像 header.h 一样,我需要再次专门添加所有 .cu 文件。这产生了一些我使用#pragma once
.
一般来说,我是 Eclipse 的新手,发现一些关于 CDT 的关于包含文件没有被索引的抱怨。我尝试了在这方面对某些人有用的 Index Rebuild/Update/Freshen/Re-resolve 方法,但我的问题没有运气。
此外,尝试在“属性”->“索引器”中禁用“包含的启发式解析”。我以为我得到了它,但随后错误再次出现。
有什么想法可以解决这个问题吗?