c - 将 C 程序与 libclBLAS 链接

标签 c gcc opencl amd

我正在尝试开始使用 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/

相关文章:

c++ - OpenCL 中的 memset 局部变量/内存

OpenCL Nvidia GPU 上的小常量内存大小

c - 无法在 gtk3 c 程序中连接来自 Glade 的回调函数

c - 为什么线程2要等待线程1结束?

c# - C/C++/C# 在监视器上设置窗口位置

c++ - std::exp(-100.0f) == NaN?

macos - OS X上gprof的问题: [program] is not of the host architecture

c - 短路逻辑或行为

python - OpenCV 错误:参数 'M' 的预期 cv::UMat

C——链表