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

相关推荐
2601_9505264316 天前
演练:编译 C 程序
visualstudio·编译·命令行·开发环境·c程序
Ki13811 个月前
N记消费/专业级Blackwell架构GPU,以编译方式安装llama.cpp
人工智能·llama.cpp·rtx pro 4000
碳基硅坊1 个月前
MTP在vLLM与llama.cpp上的性能对比:Qwen3.6与Gemma4实测
人工智能·vllm·llama.cpp·模型加速·mtp
深念Y1 个月前
openwrt.ai:一款在线OpenWrt固件定制编译平台
网络·智能路由器·编译·openwrt·刷机·软路由·固件
皮皮木子1 个月前
rl_locomotion 编译过程三
编译·强化学习·cmake·蒸馏
皮皮木子1 个月前
rl_locomotion 编译过程四
编译·cmake
鸿乃江边鸟1 个月前
Starrocks BE 在Mac编译以及遇到的问题解决
starrocks·mac·编译
特立独行的猫a1 个月前
Fast DDS & Fast DDS Spy Windows x64 编译安装完全指南
windows·编译·安装·fastdds·fastddsspy
周淳APP1 个月前
【前端工程化原理通识:从源头到运行时的理论阐述】
前端·编译·打包·前端工程化
cooldream20091 个月前
利用网络算力使用 Unsloth 实现llama大模型的微调部署调用
大模型微调·llama.cpp·unsloth