解决“两个CU文件冲突”expected an expression

来源:互联网 发布:彩虹六号网络类型open 编辑:程序博客网 时间:2024/05/09 06:06

最近在学习cuda编程,刚刚起步,未免有很多困难,也想把自己的每一步的历程记录下来,将每一个所犯的错误记下来,以便将来不会犯同一个错误。这个程式是做的“GPU-高性能运算之CUDA”一本书的第二个例子,matrixassign,编译出现了如下错误

1>e:/CUDA/Practice/MatrixAssign/MatrixAssign/matrix_assign_kernel.cu(17): error: expected an expression
1>e:/CUDA/Practice/MatrixAssign/MatrixAssign/matrix_assign_kernel.cu(9): warning: variable "bid" was declared but never referenced

1>1 error detected in the compilation of "C:/Users/ADMINI~1/AppData/Local/Temp/tmpxft_000013d0_00000000-6_matrix_assign_kernel.cpp1.ii".
1>Project : error PRJ0019: A tool returned an error code from "Compiling with CUDA Build Rule..."

解决放吧,将main函数所在的cu文件外的其他文件的编译器改成用户自定义的,而包含main的cu文件的编译器用cuda编译器,便可以解决

本来都要准备庆祝了,可是来了一段小插曲,又出现错误,跟上面是一样的,怎么看怎么看不出,我程序中有这么一段话

sdata[tid_in_block] * =(float)bid;注意*和=之间是有空格的,后来在网上搜索,才知道,去掉空格就一切ok了,我真的是狂晕,不过还是值得庆贺的,让我看到这个求助帖。哎,一切还是要认真啊,可是我不明白为什么不能有空格。以后碰到这样的还是不用为好啊

原创粉丝点击