新版llama.cpp在win7系统的移植与编译

本文介绍新版llama.cpp在win7的编译移植方法。

背景

自2025.9月左右,llama.cpp主线对其cpp-httplib依赖库进行了版本升级,新版不再支持win8以下的系统。笔者经过多番尝试,将新版llama.cpp成功编译到win7,新版llama.cpp可支持qwen3系列模型。

编译环境

系统:WIN7 SP1 旗舰版

编译工具:w64devkit 2.1.0

CMake

可参考此文

注意:源码路径应无中文

源码修改及编译方法

需对llama.cpp源码做以下修改:

(1)clone 版本库,checkout到较新版本(建议晚于2025.10),本文使用b7562 版本。

(2)搜索版本号变量WIN32_WINNT,将相关定义修改为WIN7版本号 0x0601。

(3)搜索GGML_WIN_VER变量的定义(可能没有),修改为WIN7版本号 0x0601

(4)对照老的httplib.h,将httplib.cpp文件中对CreateFile2、CreateFileMappingFromApp、MapViewOfFileFromApp三个函数的调用改为兼容WIN7的老API,修改后函数调用如下:

bash 复制代码
  hFile_ = ::CreateFileW(wpath.c_str(), GENERIC_READ, FILE_SHARE_READ, NULL,
                         OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
  hMapping_ = ::CreateFileMappingW(hFile_, NULL, PAGE_READONLY, 0, 0, NULL);
  addr_ = ::MapViewOfFile(hMapping_, FILE_MAP_READ, 0, 0, 0);

(5)执行cmake

cmake 复制代码
cmake . -G "MinGW Makefiles" -DLLAMA_CURL=OFF -DCMAKE_CXX_COMPILER=g++ -DCMAKE_C_COMPILER=gcc -DLLAMA_BUILD_TESTS=OFF 

(6)编译

单线程编译,避免冲突报错

bash 复制代码
cmake --build.--config Release -j 1

参考

在Windows 7操作系统,基于llama.cpp本地化部署 deepseek-r1模型的方法 2025-02-08

相关推荐
狂奔的sherry6 天前
C++ 宏生成访问函数的代价:访问权限、调试和类型检查
c++·宏·编译·预处理器·类型检查
RuoyiOffice8 天前
llama.cpp + SpringBoot3:本地部署 Qwen3.8,接入 AgentOS 企业办公智能体
spring boot·springboot3·llama.cpp·spring ai·qwen3.8·agentos
AI_Gump11 天前
模型篇|llama.cpp 推理引擎深度解读:从一人练手到 LLM 端侧的事实标准
llama·llama.cpp
智码看视界15 天前
开源大模型追踪:TurboQuant量化指南:128K上下文不再爆显存,KV缓存3-bit免重训
google·开源大模型·llama.cpp·显存优化·长上下文推理·turboquant·本地部署 开源大模型
神奇的代码在哪里19 天前
没有独显也能跑多模态:MiniCPM-V 4.7-1B 本地 OCR 实测(附源码)
ocr·多模态大模型·llama.cpp·gguf·minicpm-v
容沁风20 天前
llama.cpp浏览器访问404
win10·llama.cpp·web-ui
naturliche25 天前
sgx支持数据库环境配置,编译,debug
数据库·编译·sgx
n112121 个月前
4G 显存老显卡怎么跑模型:llama.cpp 加 GGUF 配置
llama·llama.cpp·本地大模型·gguf
半甜柠檬1 个月前
llama.cpp 部署 Qwen3.8-27B:无独显轻薄本实测
大模型·qwen·量化·本地部署·llama.cpp
AKULAKK1 个月前
关于在Ghost版Win7上运行.net 2程序遇到的问题以及解决办法
.net·win7