4
我試圖調用從C++文件中的CUDA(主機)功能,單獨編譯:調用CUDA代碼++代碼 - 整理出的extern 「C」
sample.cpp
C++文件:
extern "C" void cuda_function(int a, int b);
int main(){
//statements
cuda_function(23, 34);
//statements
}
cuda.cu
文件:
#include <cuda.h>
__global__ void kernel(int a, int b)
{
//statements
}
void cuda_function(int a, int b){
//cuda_function
}
構建命令:
g++ -c sample.cpp
nvcc -c cuda.cu
nvcc -o sample sample.o cuda.o
但這給出了鏈接錯誤:
sample.o: In function `main':
sample.cpp:(.text+0x163): undefined reference to `cuda_function'
collect2: ld returned 1 exit status
什麼是錯的C++和CUDA一體化的這種方法嗎?
只是失去了'外部「C」'。 – 2010-11-04 18:44:32