Windows 下 C++ 的编程开发体验:从配置地狱到打包小确幸

最近开始折腾 Windows 下的 C++ 开发,说实话,这过程让我深刻体会到什么叫「配置即编程」。虽然之前也接触过 C++,但真正开始动手写一个稍微完整点的项目,才意识到这门语言背后藏着的复杂度,依旧不容小觑。

依赖管理:Conan 的引入与困惑

在现代语言中,包管理器几乎是必不可少的工具。于是我自然地选择了 Conan 来管理 C++ 依赖。但使用 Conan 的过程,并没有我想象中顺利。

  • 路径配置:一开始就被 conan profile 配置、缓存路径、编译器路径搞晕了头,尤其是在 Windows 下,还要考虑 MSVC 的各种路径引用。
  • 编辑器集成:无论是 Visual Studio 还是 VS Code,想要让它们正确识别 Conan 拉下来的库,都需要手动处理 include 路径、lib 路径和编译选项。这和 Python 一键 pip 安装简直是两个世界。
  • 依赖寻找:更麻烦的是,Conan 中并不是所有常用库都能找到。一些库要么版本太旧,要么根本没有,这时候只能自己手动下载源码、配置 CMake、管理依赖链。这一整个过程基本上就是在挑战我的耐心极限。

更糟的是,GitHub Actions 的 CI 配置也变得异常复杂。本地已经够折腾了,到了 CI/CD 还要考虑 Conan 安装、缓存、跨平台兼容、路径修正等各种琐碎问题。C++ 开发者真的太不容易了。

打包过程:Setup.iss 的一丝温柔

难得有个顺利的部分,就是最终的应用打包。我使用了 Inno SetupSetup.iss 来生成安装包。虽然一开始对这个 .iss 脚本一头雾水,但幸运的是,AI 帮我搞定了绝大部分配置:

  • 自定义安装路径
  • 拷贝依赖的 DLL、资源文件
  • 创建桌面快捷方式
  • 设置启动项

这部分可以说是全程最丝滑的体验了,甚至让我有点感动。

总体体验:C++ 依旧强大,但门槛不低

如果说 Python 是一把锋利但易控的菜刀,C++ 更像是一台可编程机床。它能做很多事,而且性能极高,但代价就是你必须面对那些裸露的齿轮与电线。

和其他语言的开发体验相比,C++ 在 Windows 下的确更复杂,特别是在依赖管理、构建配置、编辑器集成这几个环节。但我也明白,这门语言依然有它不可替代的地位——只是每次动手,我都得做好心理准备。

写在最后:面对 C++ 我永远是个萌新 Orz

虽然学过多年 C++,但每次真正要搭建一个完整的项目时,我还是会被它的复杂度击溃。Conan、CMake、MSVC 路径、DLL 依赖、静态链接、打包配置……这些东西时刻提醒我,这是一门不会轻易对你低头的语言。

不过也正因如此,C++ 的每一点小进展都会带来成就感。也许哪天我会真的适应这些流程,也许我会逃回 Python 的怀抱……但今天,我还是想说:

C++ 太难了,我先跪为敬。