我在同一个目录中有3个文件:
希腊语.cu
#include<hellofunc.h>
int main(){
myPrintHelloMake();
return 0;
}
海洛芬奇
#include<stdio.h>
#include<stdlib.h>
void myPrintHelloMake(void){
printf("Hello dummy!\n");
return;
}
海洛芬奇
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_u00000000-14_hellomake.o:在函数中
main':tmpxft_000013bf_00000000-3_hellomake.cudafe1.cpp:(.text+0x5): undefined reference to
myPrintHelloMake()'LCD返回1退出状态
make:*[hellomake]错误1
有什么问题吗?
最佳答案
您可以将文件名hellofunc.c
更改为hellofunc.cpp
。
如果文件名不能更改,您可以搜索更多关于如何在C++代码中调用C函数的信息。