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的后缀的预设即可。

相关推荐
王老师青少年编程4 小时前
2026年6月GESP真题及题解(C++一级):交税
c++·题解·真题·gesp·一级·2026年6月·交税
疋瓞9 小时前
python和C++对比(1)_数据类型和数据结构
数据结构·c++·python
C语言小火车9 小时前
C++ 堆排序深度精讲:基于完全二叉树的选择排序进化,最坏情况 O(n log n) 的稳定王者
开发语言·c++·算法·排序算法·堆排序
ALex_zry10 小时前
C++26 std::complex 结构化绑定详解:auto [re, im] = c
c语言·开发语言·c++
_olone11 小时前
Luogu P2704 [NOI2001] 炮兵阵地
c++·算法·状压dp
c2385612 小时前
互斥锁高频面试题全解:从基础概念到底层实现,一文通关
java·c++·面试·职场和发展
nianniannnn12 小时前
c++复习自存--继承
开发语言·c++
旖-旎13 小时前
《LeetCode 746 使用最小花费爬楼梯 || LeetCode 91 解码方法》
c++·算法·leetcode·动态规划
Tian_Hang13 小时前
Eclipse Ditto 的权限策略
java·服务器·前端·网络·ide·ubuntu·eclipse
ALex_zry13 小时前
C++26 constexpr 异常详解:编译期也能 throw/catch
java·jvm·c++