无法制作Cuda程序

时间:2013-09-26 15:42:44

标签: c++ c cuda makefile

我在同一目录中有3个文件:

hellomake.cu

#include<hellofunc.h>
 int main(){
 myPrintHelloMake();
 return 0;
}

hellofunc.c

#include<stdio.h>
#include<stdlib.h>

void myPrintHelloMake(void){
 printf("Hello dummy!\n");
 return;
}

hellofunc.h

void myPrintHelloMake(void)

生成文件

CC=/usr/local/cuda-5.5/bin/nvcc
CFLAGS=-I.

hellomake: hellomake.cu hellofunc.c
         $(CC) -o hellomake hellomake.cu hellofunc.c -I.

但是当我通过终端运行时,它打印出来:


/usr/local/cuda-5.5/bin/nvcc -o hellomake hellomake.cu hellofunc.c -I。 /tmp/tmpxft_000013bf_00000000-14_hellomake.o:在函数main': tmpxft_000013bf_00000000-3_hellomake.cudafe1.cpp:(.text+0x5): undefined reference to myPrintHelloMake()' collect2:ld返回1退出状态 make: * [hellomake]错误1


可能是什么问题?

2 个答案:

答案 0 :(得分:3)

您可以将文件名hellofunc.c更改为hellofunc.cpp

如果无法更改文件名,您可以搜索有关如何在C ++代码中调用C函数的更多信息。

答案 1 :(得分:0)

您应该将hellofunc.c的名称更改为hellofunc.cu。您也可以使用#include "hellofunc.h"