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

相关推荐
Fuyo_11191 小时前
C++ 运行时多态与虚函数机制全面剖析【面试重点】
开发语言·c++·面试
Chen_harmony3 小时前
七、STL与string类
开发语言·c++
xxxiugou1234 小时前
C++命名空间与引用全解析
开发语言·c++
用户7624117567054 小时前
第十五章 人工智能基础
c++
爱写Bug的浮游7 小时前
unique_ptr 零开销的真相与边界
c++·facebook
xiaoye-duck8 小时前
《C++ 项目:手写大模型接入 SDK》ChatGPT接口设计(下):流式响应实现和测试
网络·c++·语言模型·chatgpt
落樱弥城9 小时前
Perf 逐步探查性能缺口并优化
c++·性能优化
坤坤子吖9 小时前
Linux网络编程:UDP进阶,从字典服务器到简单聊天室
linux·服务器·网络·c++·笔记·学习
Rabitebla9 小时前
【Linux学习笔记】进程篇(九):进程的创建与退出——fork、写时拷贝与退出码
linux·c++·笔记·学习
时间的拾荒人10 小时前
CMake 实战指南:从基础语法到静态库/动态库制作与链接
开发语言·c++·面试