在 dev-c++ 中需手动配置 clang 为默认编译器:先安装 llvm 并添加至 path,再通过 tools → compiler options → programs 添加新配置,指定 clang.exe 和 clang++.exe 路径,设置编译参数如 -std=c++17 -wall,并在 compiler set 中选择该配置生效。

Clang 不能直接“一键设为系统默认编译器”,它没有全局注册表或 shell 级别的 default 开关。你必须在具体工具链中显式指定它——否则系统仍会调用 gcc 或 g++。
Dev-C++ 中怎么配 Clang 编译器
Dev-C++ 不识别环境变量里的 clang,必须手动绑定可执行文件路径:
- 打开 Tools → Compiler Options → Programs 标签页
- 点击 Add,命名如 “Clang”
-
C compiler填C:Program FilesLLVMinclang.exe(注意是.exe,不是目录) -
C++ compiler填C:Program FilesLLVMinclang++.exe -
Linker可留空,或填lld.exe(若用了 MinGW 工具链,也可填ld.exe,但需加-lstdc++ -static) - 在 Compiler Options 字段里加
-std=c++17 -Wall -Wextra,避免默认用 C89/C++98
常见坑:clang.exe 路径含空格时,Dev-C++ 有时会截断;建议安装时选“Add to PATH”,然后直接填 clang.exe(依赖 PATH 查找),比写绝对路径更稳。
CMake 项目里让 Clang 生效的关键写法
CMake 不看环境变量,CC/CXX 只在未指定 CMAKE_C_COMPILER 时 fallback 使用:
Clang 22.1.3 Windows 64 位历史版本安装包,适合旧项目兼容、LLVM/Clang 工具链回退、编译行为对比、链接问题复现和 C/C++ 构建环境维护。
- 最可靠方式是在命令行指定:
cmake -B build -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ - 若写进
CMakeLists.txt,必须放在project()之前,且路径必须是绝对路径(源码编译的 Clang 尤其要注意) - Linux/macOS 上
clang通常在/usr/bin/clang,Windows 上若装了 LLVM,默认在C:Program FilesLLVMin - 别漏掉链接器:加
-DCMAKE_LINKER=lld才能真正用 Clang 全链路,否则链接阶段可能回退到ld
容易忽略的一点:CMake cache 会记住上次的编译器。改用 Clang 前,删掉 build/ 目录或运行 cmake -U 清 cache,否则设置不生效。
VS Code + tasks.json 怎么调用 clang++
VS Code 的 tasks.json 默认不读 CC/CXX,得硬编码路径:
-
"command": "clang++"行不通——除非已加到 PATH 且没被其他g++覆盖 - 推荐写绝对路径:
"command": "C:\Program Files\LLVM\bin\clang++.exe" - 务必加上
"args":包括-std=c++20、-I头文件路径、-o输出名,缺一不可 - Windows 下注意反斜杠转义,或用正斜杠:
"C:/Program Files/LLVM/bin/clang++.exe"
调试时若用 launch.json,miDebuggerPath 不能只填 gdb.exe——Clang 生成的 DWARF 可能和 MinGW-GDB 不兼容,建议换 lldb.exe(需额外安装 LLDB for Windows)。
真正的难点不在“怎么写”,而在“谁在管路径”。Clang 自身不维护系统级默认,所有工具都靠你填对那个 .exe 文件位置。路径错一位、少个 .exe 后缀、PATH 没刷进当前终端,都会静默回退到 GCC —— 错误信息里却只报语法问题,根本不会提示“你在用 gcc”。










