配置国内镜像源
方法一:使用环境变量(推荐)
设置镜像源环境变量:
# 设置清华镜像源
$env:VCPKG_DOWNLOAD_MIRROR="https://mirrors.tuna.tsinghua.edu.cn/github-release/ninja-build/ninja/"
:X_VCPKG_ASSET_SOURCES=
:VCPKG_DOWNLOAD_MIRROR=
:X_VCPKG_ASSET_SOURCES=
本文介绍了在 Windows 环境下配置 vcpkg 包管理器使用国内镜像源的多种方法,包括设置环境变量和修改配置文件。针对安装 OpenCV 时遇到的依赖问题,提供了分步安装策略、手动下载 Ninja 工具以及使用预编译二进制文件的解决方案。最后包含验证安装成功的测试代码示例及总结建议,帮助用户顺利完成 C++ 开发环境的搭建。
设置镜像源环境变量:
# 设置清华镜像源
$env:VCPKG_DOWNLOAD_MIRROR="https://mirrors.tuna.tsinghua.edu.cn/github-release/ninja-build/ninja/"
:X_VCPKG_ASSET_SOURCES=
:VCPKG_DOWNLOAD_MIRROR=
:X_VCPKG_ASSET_SOURCES=
在 vcpkg 根目录创建或修改 triplets\x64-windows.cmake 文件,添加:
# 在文件末尾添加以下内容
set(VCPKG_DOWNLOAD_MIRROR "https://mirrors.tuna.tsinghua.edu.cn/github-release/ninja-build/ninja/")
set(X_VCPKG_ASSET_SOURCES "x-azurl,https://mirrors.tuna.tsinghua.edu.cn/vcpkg/assets/")
# 1. 设置镜像源环境变量
$env:VCPKG_DOWNLOAD_MIRROR="https://mirrors.tuna.tsinghua.edu.cn/github-release/ninja-build/ninja/"
$env:X_VCPKG_ASSET_SOURCES="x-azurl,https://mirrors.tuna.tsinghua.edu.cn/vcpkg/assets/"
# 2. 设置代理(如果你有代理的话)
# $env:HTTP_PROXY="http://127.0.0.1:10809"
# $env:HTTPS_PROXY="http://127.0.0.1:10809"
# 3. 先单独安装 ninja(解决你当前的错误)
.\\vcpkg.exe install ninja:x64-windows
# 4. 然后再安装 opencv4
.\\vcpkg.exe install opencv4:x64-windows
创建 set-mirror.ps1 脚本文件:
# set-mirror.ps1 - 设置 vcpkg 镜像源
echo"设置 vcpkg 国内镜像源..."
# 设置环境变量(当前会话有效)
$env:VCPKG_DOWNLOAD_MIRROR="https://mirrors.tuna.tsinghua.edu.cn/github-release/ninja-build/ninja/"
$env:X_VCPKG_ASSET_SOURCES="x-azurl,https://mirrors.tuna.tsinghua.edu.cn/vcpkg/assets/"
# 设置 HTTP 代理(如果有的话,取消注释并修改)
# $env:HTTP_PROXY="http://127.0.0.1:10809"
# $env:HTTPS_PROXY="http://127.0.0.1:10809"
echo"镜像源设置完成!"
echo"VCPKG_DOWNLOAD_MIRROR = $env:VCPKG_DOWNLOAD_MIRROR"
echo"X_VCPKG_ASSET_SOURCES = $env:X_VCPKG_ASSET_SOURCES"
# 测试下载
.\\vcpkg.exe search opencv4
如果镜像源还是不行,可以手动下载:
https://github.com/ninja-build/ninja/releases/download/v1.13.1/ninja-win.ziphttps://mirrors.tuna.tsinghua.edu.cn/github-release/ninja-build/ninja/v1.13.1/ninja-win.zipninja-win.zip 放到 E:\YOLO\cpp\vcpkg-master\downloads\ninja-win-1.13.1.zip.\\vcpkg.exe install opencv4:x64-windows
由于 OpenCV 依赖很多,建议分步安装:
# 1. 先安装基础依赖
.\\vcpkg.exe install zlib:x64-windows
.\\vcpkg.exe install libjpeg-turbo:x64-windows
.\\vcpkg.exe install libpng:x64-windows
.\\vcpkg.exe install libwebp:x64-windows
# 2. 安装编译工具
.\\vcpkg.exe install ninja:x64-windows
# 3. 安装其他依赖
.\\vcpkg.exe install protobuf:x64-windows
.\\vcpkg.exe install flatbuffers:x64-windows
# 4. 最后安装 opencv
.\\vcpkg.exe install opencv4:x64-windows
如果编译时间太长,可以考虑使用预编译的 OpenCV:
opencv-4.11.0-windows.exe)C:\opencv// 简单的测试程序
#include<opencv2/opencv.hpp>
#include<iostream>
int main(){
std::cout <<"手动配置 OpenCV 测试"<< std::endl;
// 创建一个简单的图像
cv::Mat image(300,400, CV_8UC3, cv::Scalar(100,150,200));
cv::circle(image, cv::Point(200,150),50, cv::Scalar(0,0,255),-1);
cv::imshow("手动配置测试", image);
cv::waitKey(0);
return 0;
}
安装成功后,创建测试文件:
// test_opencv.cpp
#include<opencv2/opencv.hpp>
#include<iostream>
int main(){
std::cout <<"OpenCV 安装测试"<< std::endl;
std::cout <<"OpenCV 版本:"<< CV_VERSION << std::endl;
// 测试基本功能
cv::Mat image = cv::imread("test.jpg");
if(image.empty()){
std::cout <<"创建测试图像..."<< std::endl;
image = cv::Mat(400,600, CV_8UC3, cv::Scalar(50,100,150));
cv::circle(image, cv::Point(300,200),80, cv::Scalar(0,255,0),-1);
cv::putText(image,"OpenCV Works!", cv::Point(150,100), cv::FONT_HERSHEY_SIMPLEX,1.2, cv::Scalar(255,255,255),2);
}
cv::imshow("OpenCV 测试", image);
cv::waitKey(0);
return 0;
}

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML 转 Markdown 互为补充。 在线工具,Markdown 转 HTML在线工具,online