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

相关推荐
牛油果子哥q6 分钟前
C++STL容器详解:vector/list/string底层扩容、迭代器失效终极解决、容器选型避坑
开发语言·c++·list
welfare96236 分钟前
新号别搞:c++类与对象
开发语言·c++
小小啊python39 分钟前
IDEA中SpringBoot项目配置热部署
java·ide·intellij-idea·springboot·热部署
举手1 小时前
Epoll模型
linux·c++·学习
Shadow(⊙o⊙)1 小时前
Linux网络部分——TCP服务端、客户端架构分析多进程、多线程、线程池
c++·tcp/ip·架构
zh路西法2 小时前
【3D SLAM源码解读系列】(四) GTSAM与iSAM2——从回环约束到位姿图优化
c++·slam·gtsam·pgo·isam2
01二进制代码漫游日记2 小时前
C++基础入门速通
java·开发语言·c++
tudousisi2222 小时前
二维费用01背包
c++
2601_956121972 小时前
高精度问题
c++
橙橙笔记2 小时前
C++的学习第三部分
开发语言·c++·学习