【发布时间】:2013-01-03 12:28:08
【问题描述】:
gcc 和 CUDA 问题
嗨,
我已经编译了一个 CUDA 共享库,但无法将它与使用它的主程序链接。我正在用 gcc 编译主程序。
代码:
simplemain.c
#include <stdio.h>
#include <stdlib.h>
void fcudadriver();
int main()
{
printf("Main \n");
fcudadriver();
return 0;
}
test.cu
__global__ void fcuda()
{
}
void fcudadriver()
{
fcuda<<<1,1>>>();
}
我将 test.cu 编译为 --> 它可以工作
nvcc --compiler-options '-fPIC' -o libtest.so --shared test.cu
我将 simplemain.c 编译为 ---> 它给出了错误:(
gcc simplemain.c -L. -ltest
/tmp/ccHnB4Vh.o:simplemain.c:function main: error: undefined reference to 'fcudadriver'
collect2: ld returned 1 exit status
【问题讨论】:
-
+1 包含一个完整的、可编译的、简单的示例
-
Bibrak:如果@RobertCrovella 回答了您的问题,请将其标记为已接受。
标签: c cuda shared-libraries undefined-reference nvcc