我有extconf.rb
以下几行:
have_header("cblas.h") # checking for cblas.h... yes
have_func("cblas_dgemm", ["cblas.h"]) # checking for cblas_dgemm() in cblas.h... no
create_header("nmatrix_config.h") # creating nmatrix_config.h
所以,cblas_dgemm
肯定是在cblas.h
。当我查看mkmf.log时,我发现这个检查实际上是在寻找两件事:
- 某处的
_cblas_dgemm
符号(?) - 一个可调用
cblas_dgemm
的cblas.h
.
两个测试都失败了。我认为前者失败了,因为我需要一条dir_config
线cblas
,也许还有一条线have_library('cblas')
。
但我不知道如何使后一个测试通过(参见要点的第 24 行)。是否可以将一个块传递给它,have_func
以便它实际上用合理的参数调用它?还是有其他方法可以运行此测试?还是我必须dir_config
正确设置这些东西?
顺便说一下,这是第 24 行:
conftest.c:7:1: error: too few arguments to function ‘cblas_dgemm’
是的,当然,cblas_dgemm
需要很多参数——其中一些是矩阵。
mkmf
令人沮丧的是,关于这些功能的文档很少。