我正在尝试使用clBLAS。 我在linux 64bit上使用clBLAS-2.6.0 Release for ACL 1.0 Beta 1。 从examples目录下载的二进制文件在我的硬件上正常工作,但我的努力是从源代码编译最简单的二进制文件并将其链接到共享库。 树目录看起来像这样:
.
├── 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。 有什么建议我缺少什么?
答案 0 :(得分:1)
您告诉链接器查看lib
文件夹中可能需要的库(-L
)选项,但您没有指定要链接的库。
尝试使用
中的-l
选项
gcc -Iinclude -Llib -lclBLAS clBlasVersion.c