如何将C++链接到OpenBlas?

3

我安装了OpenBlas,并且可以通过使用以下方式编译链接到OpenBlas的C程序:

 gcc testOpenBlas.c  -I /opt/OpenBLAS/include/ -L/opt/OpenBLAS/lib -lopenblas

如果我使用g++和相同的链接器选项来链接c ++程序,我会得到以下错误:

testOpenBlas.cpp:1:28: fatal error: OpenBlas/cblas.h: No such file or directory
 #include <OpenBlas/cblas.h>

有什么提示吗?

2
这不是链接器错误。 - m.s.
2个回答

3
这是我所做的: 我不得不再次使用g++重新编译OpenBlas。 我发现common.h文件存在于源文件夹中,因此我必须包含它,而不是安装文件夹“/opt/OpenBlas”。我仍然使用“-L/opt/OpenBLAS/lib”标志。
然后问题就解决了。

2
这个包含指令正在你的所有包含目录中寻找路径OpenBlas/cblas.h,特别是在/opt/OpenBLAS/include/中也会查找。

所以问题是:是否存在一个名为/opt/OpenBLAS/include/OpenBlas/cblas.h的文件?
此外,我认为您可能需要在源文件之前指定-I标志。

/opt/OpenBLAS/include/cblas.h 存在。在我的代码中,我还有 #include <OpenBlas/common.h>。然而,common.h 不在 include 文件夹中。 - Tarek
我发现在使用-I标志之前应该先输入源文件的类型。 - Tarek

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接