【发布时间】:2012-11-29 08:17:24
【问题描述】:
在我的 test.cu 文件中(cu 文件项类型为 CUDA C/C++)
__global__ void foo()
{
}
void CudaMain()
{
foo<<<1,1>>>();
}
在我的 test.cpp 文件中
#include "mycuda.cu"
int main()
{
CudaMain();
return 0;
}
编译器在 test.cu 文件中向我发送错误“error c2059 syntax error '
【问题讨论】:
-
我认为它被解析为运算符 > >
-
我不知道 CUDA 是如何工作的,但在这种情况下,您正在尝试编译(实际上,#include 确实将 .cu 文件中的文本插入到 .cpp 中)'带有 c++ 编译器的 test.cu' 文件,显然不能承受
<<< -
您应该将主测试文件命名为
test_main.cu(或其他名称)并使用nvcc进行编译。 -
我尝试 foo > > 但不起作用
-
您是否按照getting started guide for windows 中的所有步骤进行操作?您将 .cu 文件包含到 .cpp 文件中,但 ms vc 构建规则正在使用 cpp 构建规则而不是 .cu 构建规则编译 .cpp 文件。所以它会在 .cpp 文件中跳过设备代码。将您的 test.cpp 重命名为 test.cu,以便使用设备构建 (.cu) 规则。
标签: c++ visual-studio-2010 cuda