Visual Studio 2026 优雅的给Cmake设置大代理

众所周知,国内是无法直接访问Github,需要设置代理。在项目根目录下,创建CMakeUserPresets.json,为Cmake设置的用户预设。

json 复制代码
{
  "version": 3,
  "configurePresets": [
    {
      "name": "proxy",
      "hidden": true,
      "environment": {
        "HTTP_PROXY": "http://127.0.0.1:10808",
        "HTTPS_PROXY": "http://127.0.0.1:10808"
      }
    },
    { "name": "x64-debug-proxy",   "inherits": ["x64-debug",   "proxy"] },
    { "name": "x64-release-proxy", "inherits": ["x64-release", "proxy"] },
    { "name": "x86-debug-proxy",   "inherits": ["x86-debug",   "proxy"] },
    { "name": "x86-release-proxy", "inherits": ["x86-release", "proxy"] }
  ]
}

利用多重继承,实现设置代理的目的,避免修改CMakePresets.json文件。

因为CMakeUserPresets.json不需要添加到版本跟踪,而CMakePresets.json需要添加到版本跟踪中。不修改CMakePresets.json,就不会影响到非本机的编译。编译时,切换到带有-proxy的后缀的预设即可。

相关推荐
倒头就睡的小比特3 天前
算法竞赛C++常用的STL
c++·算法
weilx12343 天前
C++笔记-文件IO-<fcntl.h>
c++
liufeiyu19763 天前
VS 2026 升级后出现错误: 找不到指定的 SDK“Microsoft.NET.Sdk”
visual studio·vs 2026
Smileyqp沛沛3 天前
前端?C++ ?较大差异基础罗列
c++·基础·前端转c++
C语言小火车3 天前
C/C++ 为什么需要编译器?
开发语言·c++
旖旎夜光3 天前
力控面试题 01.01: 判定字符是否唯一(位运算) —— 题解
c++·学习·算法·leetcode·力控
吞下星星的少年·-·3 天前
C++ 萌新语法入门篇
c++·算法比赛
霍霍的袁3 天前
【C++】map 和 set 的使用 | 从用法到底层
开发语言·c++·学习·visual studio
another heaven3 天前
【算法/C++ MD5算法能否逆解码?原理、C++实现与同类哈希算法对比】
c++·算法·哈希算法
程序猿编码3 天前
告别改源码适配模型:纯 C++ 可配置 LLM 推理引擎,全格式全结构兼容
c++·大模型·llm·推理引擎