【发布时间】:2012-11-02 17:58:28
【问题描述】:
我正在尝试将 cpp 文件转换为 .cu 文件。但是,编译器会报告 cpp 中所有 typedef 和静态函数的错误。它也不会检测范围解析运算符并为它们报告错误。
【问题讨论】:
-
显然 CUDA 正在为许多其他人工作,所以您能否更具体一些并展示一些不起作用的(独立的)代码?
-
我已经有一个现有的项目。我们计划将一个 cpp 文件迁移到一个 cu 文件。在编译这个 cu 文件时,我们得到了错误。例如。 typedef 无符号长 ULONG;如果我在函数声明中使用 Func(ULONG uLine);我收到一个错误“标识符 ULONG 未定义”
-
嗯,这不会发生在很多其他人身上,所以一定有特定于您的程序的东西导致了这种行为,我们需要查看代码来识别它。但是,我的一般建议是不要尝试将现有的大型代码转换为 .cu 文件,而是将内核启动和 CUDA 调用包装成从现有 .cpp 文件调用的小函数。
-
我会把这个建议变成下面的答案。