C++包管理工具vcpkg配置國(guó)內(nèi)鏡像源的操作流程
第一部分:配置國(guó)內(nèi)鏡像源
1.1 方法一:使用環(huán)境變量(推薦)
設(shè)置鏡像源環(huán)境變量:
# 設(shè)置清華鏡像源 $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/" # 或者使用中科大鏡像源 $env:VCPKG_DOWNLOAD_MIRROR="https://mirrors.ustc.edu.cn/github-release/ninja-build/ninja/" $env:X_VCPKG_ASSET_SOURCES="x-azurl,https://mirrors.ustc.edu.cn/vcpkg/assets/"
1.2 方法二:修改 vcpkg 配置文件
在 vcpkg 根目錄創(chuàng)建或修改 triplets\x64-windows.cmake 文件,添加:
# 在文件末尾添加以下內(nèi)容 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/")
第二部分:完整的解決方案
2.1 一次性解決方案
# 1. 設(shè)置鏡像源環(huán)境變量 $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. 設(shè)置代理(如果你有代理的話) # $env:HTTP_PROXY="http://127.0.0.1:10809" # $env:HTTPS_PROXY="http://127.0.0.1:10809" # 3. 先單獨(dú)安裝 ninja(解決你當(dāng)前的錯(cuò)誤) .\vcpkg.exe install ninja:x64-windows # 4. 然后再安裝 opencv4 .\vcpkg.exe install opencv4:x64-windows
2.2 永久配置方案
創(chuàng)建 set-mirror.ps1 腳本文件:
# set-mirror.ps1 - 設(shè)置vcpkg鏡像源 echo "設(shè)置vcpkg國(guó)內(nèi)鏡像源..." # 設(shè)置環(huán)境變量(當(dāng)前會(huì)話有效) $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/" # 設(shè)置HTTP代理(如果有的話,取消注釋并修改) # $env:HTTP_PROXY="http://127.0.0.1:10809" # $env:HTTPS_PROXY="http://127.0.0.1:10809" echo "鏡像源設(shè)置完成!" echo "VCPKG_DOWNLOAD_MIRROR = $env:VCPKG_DOWNLOAD_MIRROR" echo "X_VCPKG_ASSET_SOURCES = $env:X_VCPKG_ASSET_SOURCES" # 測(cè)試下載 .\vcpkg.exe search opencv4
第三部分:手動(dòng)下載解決方案
3.1 手動(dòng)下載 ninja
如果鏡像源還是不行,可以手動(dòng)下載:
手動(dòng)下載 ninja:
- 訪問(wèn):
https://github.com/ninja-build/ninja/releases/download/v1.13.1/ninja-win.zip - 或者從國(guó)內(nèi)鏡像:
https://mirrors.tuna.tsinghua.edu.cn/github-release/ninja-build/ninja/v1.13.1/ninja-win.zip
放置文件:
- 將下載的
ninja-win.zip放到E:\YOLO\cpp\vcpkg-master\downloads\ - 重命名為:
ninja-win-1.13.1.zip
重新運(yùn)行安裝:
.\vcpkg.exe install opencv4:x64-windows
第四部分:分步安裝策略
由于 OpenCV 依賴很多,建議分步安裝:
# 1. 先安裝基礎(chǔ)依賴 .\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
第五部分:使用預(yù)編譯二進(jìn)制文件
如果編譯時(shí)間太長(zhǎng),可以考慮使用預(yù)編譯的 OpenCV:
5.1 直接下載 OpenCV 預(yù)編譯版本
- 訪問(wèn) OpenCV官網(wǎng)
- 下載 Windows 版本(例如
opencv-4.11.0-windows.exe) - 解壓到
C:\opencv - 在 Visual Studio 中手動(dòng)配置
5.2 手動(dòng)配置 OpenCV
// 簡(jiǎn)單的測(cè)試程序
#include <opencv2/opencv.hpp>
#include <iostream>
int main() {
std::cout << "手動(dòng)配置OpenCV測(cè)試" << std::endl;
// 創(chuàng)建一個(gè)簡(jiǎn)單的圖像
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("手動(dòng)配置測(cè)試", image);
cv::waitKey(0);
return 0;
}
第六部分:驗(yàn)證安裝
安裝成功后,創(chuàng)建測(cè)試文件:
// test_opencv.cpp
#include <opencv2/opencv.hpp>
#include <iostream>
int main() {
std::cout << "OpenCV安裝測(cè)試" << std::endl;
std::cout << "OpenCV版本: " << CV_VERSION << std::endl;
// 測(cè)試基本功能
cv::Mat image = cv::imread("test.jpg");
if(image.empty()) {
std::cout << "創(chuàng)建測(cè)試圖像..." << 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測(cè)試", image);
cv::waitKey(0);
return 0;
}
總結(jié)建議
- 首選方案:使用環(huán)境變量設(shè)置清華鏡像源
- 備用方案:手動(dòng)下載 ninja 等工具
- 快速方案:直接下載 OpenCV 預(yù)編譯版本
- 耐心等待:第一次編譯 OpenCV 可能需要較長(zhǎng)時(shí)間
以上就是C++包管理工具vcpkg配置國(guó)內(nèi)鏡像源的操作流程的詳細(xì)內(nèi)容,更多關(guān)于C++ vcpkg配置國(guó)內(nèi)鏡像源的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
解析c++ 中智能指針引用計(jì)數(shù)為什么不是0原理
這篇文章主要為大家介紹了C語(yǔ)言中智能指針引用計(jì)數(shù)為什么不是0原理解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08
C語(yǔ)言實(shí)現(xiàn)十六進(jìn)制轉(zhuǎn)換為十進(jìn)制的方法詳解
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)十六進(jìn)制轉(zhuǎn)換為十進(jìn)制的方法,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,需要的可以參考一下2022-11-11
c++ 隊(duì)列相關(guān)知識(shí)總結(jié)
這篇文章主要介紹了c++ 隊(duì)列相關(guān)知識(shí)總結(jié),幫助大家更好的理解和學(xué)習(xí)使用c++,感興趣的朋友可以了解下2021-03-03
C語(yǔ)言內(nèi)存對(duì)齊實(shí)例詳解
這篇文章主要介紹了C語(yǔ)言內(nèi)存對(duì)齊,包括內(nèi)存對(duì)其的基本概念及用法,以及注意事項(xiàng),并以實(shí)例形式加以說(shuō)明,需要的朋友可以參考下2014-09-09
C語(yǔ)言結(jié)構(gòu)體中內(nèi)存對(duì)齊的問(wèn)題理解
內(nèi)存對(duì)齊”應(yīng)該是編譯器的“管轄范圍”。編譯器為程序中的每個(gè)“數(shù)據(jù)單元”安排在適當(dāng)?shù)奈恢蒙?。但是C語(yǔ)言的一個(gè)特點(diǎn)就是太靈活,太強(qiáng)大,它允許你干預(yù)“內(nèi)存對(duì)齊”。如果你想了解更加底層的秘密,“內(nèi)存對(duì)齊”對(duì)你就不應(yīng)該再模糊了2022-02-02
C++實(shí)現(xiàn)學(xué)生檔案管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)學(xué)生檔案管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-05-05

