首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Visual Studio中使用OpenBLAS LAPACKE

在Visual Studio中使用OpenBLAS LAPACKE
EN

Stack Overflow用户
提问于 2017-11-28 05:39:37
回答 1查看 716关注 0票数 3

我需要在我的项目中一些线性代数,并希望使用OpenBLAS为此。我下载了预编译版(64bit version)并解压缩到我的项目文件夹中。在Visual Studio中,我将include-、bin-和lib-文件夹添加到了我的项目中,并运行了this example,没有出现任何问题。

接下来,我想看看LAPACK,所以我在includes中添加了lapacke.h,它与cblas.h在同一个目录中,并包含在官方下载中。但是现在,对于每个函数,我都会收到成百上千的错误,就好像缺少lib文件之类的。例如,对于这条线路

代码语言:javascript
复制
85 lapack_complex_float lapack_make_complex_float( float re, float im );

我得到了

代码语言:javascript
复制
PATH\include\lapacke.h(85): error C2146: syntax error: missing ';' before identifier 'lapack_make_complex_float'

我找不到任何关于如何设置OpenBLAS/LAPACK的更多信息,他们通常只说‘包含文件’,我有。否则,cblas示例也不会运行。而且我能找到的(相关)示例只能使用cblas.h,而不是lapacke.h。

有人能告诉我我哪里做错了吗?

EN

回答 1

Stack Overflow用户

发布于 2019-10-18 15:19:48

问题是OpenBlas默认使用C99 _Complex。Visual C++不支持这一点。您可以通过在包含lapacke.h之前使用标准库定义来解决此问题:

代码语言:javascript
复制
#include <complex>
#define lapack_complex_float std::complex<float>
#define lapack_complex_double std::complex<double>
#include <lapacke.h>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47520244

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档