我在同一个目录中有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 tomyPrintHelloMake()'
LCD返回1退出状态
make:*[hellomake]错误1
有什么问题吗?

最佳答案

您可以将文件名hellofunc.c更改为hellofunc.cpp
如果文件名不能更改,您可以搜索更多关于如何在C++代码中调用C函数的信息。

08-15 22:36