我在使用cblas时遇到一个问题。我是一个用c++做数字的新手,我知道Openblas是一个著名的库来执行线性代数计算。我在我的M1 Macbook上使用brew install openblas
。安装完成后,我按照输出指令在终端中输入这些命令。但是,当我使用下面的示例来测试openblas时,
#include <iostream>
#include "cblas.h"
#include "lapacke.h"
using namespace std;
int main(){
float b[] = {3, 1, 3, 1, 5};
cblas_sasum(5, b, 1);
cout << "Program finished";
}
Xcode说fatal error: 'cblas.h' file not found
。因此,我想知道如何解决这个问题。谢谢大家的评论。
经过数次尝试和错误,我解决我的问题通过编写makefile如下:
CC = g++
INCLUDES = -I/opt/homebrew/Cellar/openblas/0.3.20/include
CPPFLAGS = -g -Wall $(INCLUDES)
LDFLAGS = -L/opt/homebrew/opt/openblas/lib
all:main.o /opt/homebrew/opt/openblas/lib/libopenblas.a
$(CC) main.o $(LDFLAGS) -lopenblas -o main.out
main.o:main.cpp /opt/homebrew/Cellar/openblas/0.3.20/include/cblas.h
$(CC) $(CPPFLAGS) -c main.cpp
clean:
rm -f main.out
我按照这篇文章写了一个makefile,它确实有效。为了使用Xcode编译main.cpp
文件,我们需要在Xcode中添加链接器。在这个youtube视频