如果你因为某些问题不想安装微软的 Visual Studio,但又必须要在 Windows 实体机上构建 Dandelion(Windows 应该是大多数人常用的系统),可以参考这篇教程,使用正确姿势搭建环境,避免出现奇怪问题。
- 使用 Visual Studio 构建的几个好处:
- 安装时是图形化界面,较直接,一下子就安装好了
- 原生编译器,减少 Windows 系统下可能出现的问题。依赖库检测操作系统不会出错,减少出错概率
- 编译速度比较快
- 使用 mingw-w64 构建的几个好处:
- 大概比 Visual Studio 占用硬盘少一些,而且是便携软件,方便安装和迁移
- 与现代 Linux 系统的编译器、命令等一致,有助于学习 Linux
- 是自由软件,不和微软的 Visual Studio 绑定
首先,要获取最新的 mingw-w64 工具链 (GCC14 / Clang18)。推荐的方式是使用 msys2,不可以使用诸如 Dev-C++ 或 Code::Blocks 里面自带的编译器,那些软件太老了,编译器版本太老,一定会遇到问题。获取步骤如下
- 访问 msys2 官网,点击
Download the installer: msys2-x86_64-xxxx.exe
下载最新安装包 - 按照官网的教程安装到某磁盘根目录下
- 打开 msys2 终端,推荐采用 clang64 环境
- 简单说,该环境采用 clang 编译器编译 windows 原生程序,打开的终端是 bash,这是一个类似 Linux 的环境,cmd/PowerShell 不能直接访问
- 在环境中安装一些需要的软件包
- 运行
pacman -S git
安装 git - 运行
pacboy -S toolchain:p
安装 clang 工具链 - 运行
pacboy -S cmake:p ninja:p
安装构建工具 CMake 和 ninja,其中 ninja 和 make 功能相同,可替换为 make
- 运行
其次,再使用 git clone
下载 dandelion 代码,checkout 到 v1.1.0
版本(或静态库对应的版本),并参考文档将静态库放置好,因为我们用的是 clang,静态库也要选择带 clang 的版本。
最后,参照 Linux 版本构建过程使用 cmake 构建,应该不需要其他操作。没有意外的话,应该可以编译成功。
关于如何使用 VS Code 调试 Clang64 环境编译的程序,以及如何添加 Clang64 环境终端,网上有很多教程,不再赘述。例如 CodeLLDB 扩展