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

相关推荐
love530love8 天前
OpenClaw搭配LM Studio VS Ollama:Windows CUDA实战深度对比与完全配置指南
人工智能·windows·vllm·ollama·llama.cpp·lm studio·openclaw
晨欣10 天前
llama.cpp 设计巧思:多模态模型拆分加载,按需使用视觉能力(配图由谷歌的Nano Banana模型倾情生成)
llm·谷歌·cursor·llama.cpp·gguf模型·gpt5.4
佛祖让我来巡山13 天前
【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
编译·解释·jit
JohnCHsu13 天前
性能干翻235B,单卡私有化部署OpenClaw
ai·agent·llama.cpp·openclaw
_OP_CHEN1 个月前
【Linux系统编程】(二十八)深入 ELF 文件原理:从目标文件到程序加载的完整揭秘
linux·操作系统·编译·c/c++·目标文件·elf文件
illuspas2 个月前
MI50运行GLM-4.7-Flash的速度测试
glm·llama.cpp·mi50
容沁风2 个月前
openclaw使用本地llama.cpp
llama.cpp·qwen3·openclaw
devmoon2 个月前
用Remix IDE在Polkadot Hub部署一个最基础的Solidity 合约(新手友好)
web3·区块链·智能合约·编译·remix·polkadot
春栀怡铃声2 个月前
认识二叉树~
c语言·数据结构·经验分享·c·编译
love530love2 个月前
Windows 11 配置 CUDA 版 llama.cpp 并实现系统全局调用(GGUF 模型本地快速聊天)
人工智能·windows·大模型·llama·llama.cpp·gguf·cuda 加速