2012-10-25 85 views
1

我試圖編譯下面的代碼編譯時間:CUDA紋理申報錯誤

#include <stdio.h> 
#include <time.h> 
#include <cuda.h> 
#include <cuda_runtime_api.h> 

texture<float, 2, cudaReadModeElementType> tex; 

int main() { ... } 

然而,NVCC給了我以下錯誤:

main.c:6:8: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘<’ token 

我很新到CUDA,所以我想我在這裏錯過了一些東西。

+1

您只能在'.cu'文件中使用CUDA語法。 –

+1

是的,我從'main.c'切換到'main.cu',現在它工作。非常感謝! –

回答

3

您只能在.cu文件中使用CUDA語法。

+2

實際上,紋理聲明只是一個C++模板實例,並不是任何CUDA特定的。如果使用C++而不是C編譯器,代碼將會被編譯,在這種情況下不需要nvcc或.cu擴展名。 – talonmies