cuda纹理声明编译时错误
我正在尝试编译以下代码:cuda纹理声明编译时错误,cuda,textures,Cuda,Textures,我正在尝试编译以下代码: #include <stdio.h> #include <time.h> #include <cuda.h> #include <cuda_runtime_api.h> texture<float, 2, cudaReadModeElementType> tex; int main () { ... } #包括 #包括 #包括 #包括 纹理纹理; int main(){…} 然而,nvcc给了我以下错误
#include <stdio.h>
#include <time.h>
#include <cuda.h>
#include <cuda_runtime_api.h>
texture<float, 2, cudaReadModeElementType> tex;
int main () { ... }
#包括
#包括
#包括
#包括
纹理纹理;
int main(){…}
然而,nvcc给了我以下错误:
main.c:6:8: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘<’ token
main.c:6:8:错误:应为“=”、“、”、“;”、”asm'或'.\u'.\u属性'.\u'之前'只能在.cu文件中使用CUDA语法。只能在.cu文件中使用CUDA语法。只能在.cu
文件中使用CUDA语法。是的,我从main.c
切换到main.cu
,现在它可以工作了。谢谢!您只能在.cu
文件中使用CUDA语法。是的,我从main.c
切换到main.cu
,现在它可以工作了。谢谢!实际上,纹理声明只是一个C++模板实例化,而不是任何CUDA特定的。如果使用C++而不是C编译器,则代码将编译,在这种特殊情况下不需要NVCC或A.Cu扩展。实际上,纹理声明只是C++模板实例化,而不是任何CUDA特定的。如果使用C++而不是C编译器,则代码将编译,在这种特殊情况下不需要NVCC或A.Cu扩展。