2013-09-26 51 views
0

我在同一個目錄有3個文件:不能使Cuda的程序

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) 

的Makefile

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

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

但是當我通過終端運行make它打印出:


/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個退出狀態 化妝:* [hellomake]錯誤1


可能是什麼問題?

回答

3

您可以將文件名hellofunc.c更改爲hellofunc.cpp

如果文件名不能更改,您可以搜索更多關於如何在C++代碼中調用C函數的信息。

+0

感謝.cpp解決了這個問題! – user2424276

0

您應該將hellofunc.c的名稱更改爲hellofunc.cu。您也可以使用#include "hellofunc.h"