windows clang踩坑记录

Ethereal Lv4

VS studio安装路径

  1. 准备工作
  1. 共享组件、工具和SDK安装位置修改
  • 进入注册表,找到表项计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\Setup,删除项CachePathSharedInstallationPath

  • 在vs studio installer中此时即可修改安装位置。

  1. 系统缓存、工具和位置固定的SDK修改
  • 进入注册表,找到表项计算机\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows Kits\Installed Roots,修改项KitsRoot10KitsRoot81WindowsDebuggersRoot10等包含目录的项,**注意最后必须加\**。
  1. 重新安装
  • 在vs studio installer中安装SDK。

配置资源编译器

  1. 找到上述SDK安装路径(默认为C:\Program Files (x86)\Windows Kits),找到MSVC的资源编译器(安装路径\10\bin\10.0.22621.0\x64\rc.exe)。

  2. 复制文件地址,配置cmake编译选项-DCMAKE_RC_COMPILER="rc_path"或配置环境变量RC"rc_path"如果路径中有空格,注意加入引号

配置clang

  1. 下载llvmReleases · llvm/llvm-project (github.com)

  2. 加入环境变量

  3. 设置clion的工具链和cmake选项。

  • 工具链:选择C编译工具为bin\clang.exe,C++编译工具为bin\clang++.exe,cmake为自己安装的cmake路径。

  • cmake选项:参考上述配置资源编译器中的选项。

  1. 编译选项
  • 由于找不到libc,所以需要借用一下mingw的libc(需要保证mingw安装且加入环境变量)加入编译选项-target x86_64-pc-windows-gnu

  • 由于报警告Warning: corrupt .drectve at end of def file,使用编译选项-fuse-ld=lld指定链接器。

  • 所以,最终编译命令可以为clang++ .\test.cpp -target x86_64-pc-windows-gnu -std=c++20 -fuse-ld=lld

参考

Releases · microsoft/VisualStudioUninstaller (github.com)

Visual Studio安装时,不能更改共享组件、工具和SDK的位置_共享组件、工具和sdk位置-CSDN博客

更改windows kit通用安装路径-腾讯云开发者社区-腾讯云 (tencent.com)

忍者:找不到CMAKE_RC_COMPILER-腾讯云开发者社区-腾讯云 (tencent.com)

Releases · llvm/llvm-project (github.com)

Clion 2020.3:如何设置Clang编译器 - 知乎 (zhihu.com)

Windows下clang使用 - 知乎 (zhihu.com)

在Windows下配置Clang编译器 - Koshkaaa (cnblogs.com)

c++ - 与 clang 链接时 MinGW ld 的警告_Stack Overflow中文网

  • Title: windows clang踩坑记录
  • Author: Ethereal
  • Created at: 2024-03-16 20:47:46
  • Updated at: 2024-03-17 15:48:30
  • Link: https://ethereal-o.github.io/2024/03/16/windows-clang踩坑记录/
  • License: This work is licensed under CC BY-NC-SA 4.0.
 Comments
On this page
windows clang踩坑记录