You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Makefile指定包含路径仍找不到BLIS的blis.h头文件

问题描述
  • 在MSYS2 MINGW64环境中,已将BLIS框架安装到$HOME/blis路径,官方测试示例可正常编译
  • 在其他目录使用自定义Makefile编译代码时,编译器处理#include "blis.h"时提示找不到文件
  • 已确认blis.h位于C:\msys64\home\[USERPROFILE]\blis\include\haswell\,且$HOME/blis指向正确路径
解决方案

问题出在自定义Makefile未指定BLIS的头文件搜索路径和库链接参数,修正方式如下:

  • 在CFLAGS中添加头文件搜索路径:-I$(HOME)/blis/include/haswell(因blis.h位于haswell子目录)
  • 在LDFLAGS中添加库文件搜索路径和BLIS库链接:-L$(HOME)/blis/lib/haswell -lblis
相关文件内容

安装命令

git clone https://github.com/flame/blis.git
cd blis
./configure --prefix=$HOME/blis --enable-cblas haswell
make -j$(nproc)
make install

错误版本Makefile

CC = gcc
CFLAGS = -O3
LDFLAGS =
TARGET = my_blis_test
SRC = test.c

$(TARGET): $(SRC)
	$(CC) $(CFLAGS) $(LDFLAGS) -o $(TARGET) $(SRC)

修正后Makefile

CC = gcc
CFLAGS = -O3 -I$(HOME)/blis/include/haswell
LDFLAGS = -L$(HOME)/blis/lib/haswell -lblis
TARGET = my_blis_test
SRC = test.c

$(TARGET): $(SRC)
	$(CC) $(CFLAGS) $(LDFLAGS) -o $(TARGET) $(SRC)

编译器错误信息

test.c:1:10: fatal error: blis.h: No such file or directory
    1 | #include "blis.h"
      |          ^~~~~~~~
compilation terminated.

测试源代码(test.c)

#include "blis.h"
#include <stdio.h>

int main() {
    double a = 2.0, b = 3.0, c;
    c = bli_dadd(a, b);
    printf("a + b = %lf\n", c);
    return 0;
}

内容的提问来源于stack exchange,提问作者hillard28

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 13:39:22