新版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

相关推荐
阆遤8 天前
llama.cpp 0.4.0-dev 本地编译指南
ai·编译·llama.cpp
程序猿阿森8 天前
C语言预处理完全指南:宏定义、条件编译与头文件规范,一篇搞懂工程化编程
c语言·c++·编译
JiMoKuangXiangQu12 天前
在 AllWinner T507 上部署 Qwen2.5-0.5B 大语言模型
人工智能·llama.cpp·推理引擎
Akir.weiwen13 天前
⑤ 消费格式差异:同一份契约的四角色消费格式
人工智能·编译·设计规范·语义
泛联新安13 天前
FPGA功能仿真:VShark正式亮相,换仿真器不用换习惯
fpga开发·编译·仿真·嵌入式软件·代码漏洞扫描
智码看视界15 天前
.NET 10 推理大模型TensorSharp 3.3.0 部署实测:纯.NET推理引擎反超llama.cpp 1.5倍,DFlash2提速62%
c#·.net·llama.cpp·.net 10·tensorsharp·本地大模型推理·开源推理引擎
Akir.weiwen23 天前
③ 约束显化:把隐含的语义假设变成显式规则
人工智能·编译·设计规范·语义
深念Y1 个月前
Makefile vs go run:Go 项目构建方式对比
java·开发语言·golang·k8s·编译·流水线·cicd
淡海水1 个月前
04-02-哈希-Dictionary-TKey-TValue-上-核心数据结构
数据结构·算法·c#·哈希算法·编译·字典·dictionary
淡海水1 个月前
03-05-线性-Array-List-LinkedList与Span-所有权与成本模型选型
c#·list·编译·array·clr·机器码