Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
正在尝试将现有c项目改编为Makefile未找到的CUDA、.cu文件_C_Cuda_Makefile - Fatal编程技术网

正在尝试将现有c项目改编为Makefile未找到的CUDA、.cu文件

正在尝试将现有c项目改编为Makefile未找到的CUDA、.cu文件,c,cuda,makefile,C,Cuda,Makefile,我正在尝试使用CUDA加速c项目(不是c++)中的一个关键函数 由于某些原因,当我将其中一个文件的名称更改为.cu时,我无法让Makefile识别.cu扩展名 它使用了一个配置脚本和.am/.in/.deps文件,我并不完全理解这些文件,但基本上我将对file.c的引用改为file.cu,但它生成了一个file.o:file Not Found错误 顶层生成文件 Src文件夹生成文件 我使用的搜索命令是 grep -R -i "file.c" 我只是将它们全部改为file.cu,然后重新运

我正在尝试使用CUDA加速c项目(不是c++)中的一个关键函数

由于某些原因,当我将其中一个文件的名称更改为.cu时,我无法让Makefile识别.cu扩展名

它使用了一个配置脚本和.am/.in/.deps文件,我并不完全理解这些文件,但基本上我将对file.c的引用改为file.cu,但它生成了一个file.o:file Not Found错误

顶层生成文件

Src文件夹生成文件

我使用的搜索命令是

grep -R -i "file.c"
我只是将它们全部改为file.cu,然后重新运行configure、makeclean、makeall-结果是找不到文件

我想这一定与扩展被Makefile忽略/接受有关,但由于我已经很久没有用C编程了,而且我从未使用过如此复杂的Makefile,我不知道如何修复它

有什么想法吗


*另外,file.cu目前也有编译错误,但我收到的错误消息是找不到file,因此我认为这不是问题。

您需要有一个规则来从
cu
文件生成
o
文件:

cudafile.o: cudafile.cu
    nvcc $(NVCC_FLAGS) -c %< -o $@
cudafile.o:cudafile.cu
nvcc$(nvcc_标志)-c%<-o$@

因此,您还需要为cu文件指定规则,并使用nvcc进行编译。

以下指南似乎涵盖了这一点


实际上,链接中给出的大多数建议对于基本编译来说似乎是不必要的,但出于某种原因,我发现当我使用autoconf重新创建配置文件时,它起到了作用。我没有想到任何解释。

好的,我已经发布了makefiles的链接。