我正在尝试开始使用 clBLAS。 我在 64 位 Linux 上使用 clBLAS-2.6.0 Release for ACL 1.0 Beta 1。 从示例目录下载的二进制文件在我的硬件上运行良好,但我的努力是从源代码编译最简单的二进制文件并将其链接到共享库。 树目录如下所示:
.
├── clBlasVersion.c
├── include
│ ├── clAmdBlas.h
│ ├── clAmdBlas.version.h
│ ├── clBLAS-complex.h
│ ├── clBLAS.h
│ └── clBLAS.version.h
└── lib
└── libclBLAS.so
我正在使用 gcc (Ubuntu 4.8.4-2ubuntu1~14.04) 4.8.4 和以下命令:
gcc -Iinclude -Llib clBlasVersion.c
因链接错误而失败:
/tmp/ccC9kQ9C.o: In function `main':
clBlasVersion.c:(.text+0x1b): undefined reference to `clblasGetVersion'
collect2: error: ld returned 1 exit status
AMDAPPSDKROOT 设置在这个文件的环境和二进制文件中,它包含在发布中,可以显示正确版本的 clblas。 有什么建议我想念的吗?
最佳答案
您告诉链接器在 lib
文件夹中寻找它可能需要的库 (-L
) 选项,但您没有指定要链接的库.
尝试使用 -l
选项
gcc -Iinclude -Llib -lclBLAS clBlasVersion.c
关于c - 将 C 程序与 libclBLAS 链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31743225/