我有一个使用CMake构建的C++项目。我通常在OSX上构建,但现在我也想让Windows版本工作。出于兼容性原因,我想在Windows上使用Clang。
我从LLVM安装了预编译的Clang 3.8二进制文件:
C:\Program Files\LLVM\bin\clang.exe
C:\Program Files\LLVM\bin\clang++.exe
它也安装在我的路径:
>clang++
clang++.exe: error: no input files
我有两个问题:
1.当我调用cmake --build
时,如何告诉CMake使用clang++
?
1.在编译CMake之前,我如何检查它配置了哪个编译器?
3条答案
按热度按时间uqcuzwp81#
除了Clang编译器本身之外,您还需要一个用于Windows的构建/链接环境。
最新的CMake 3.6版本确实有几个集成的支持Windows上的Clang构建环境(例如Visual Studio、Cygwin;参见Release Notes)。
我刚刚成功地测试了
所有文件都安装在全局
PATH
环境中bin
目录的标准路径中。您需要知道的是使用CMake**
-T"LLVM-vs2014"
**命令行选项设置正确的工具集。在配置过程中,CMake会让您知道它找到/使用了哪个编译器。请注意,我在安装过程中已将LLVM添加到搜索路径中:
您还可以在任何VS项目的属性页中交叉检查可用的"平台工具集":
mwg9r5ms2#
作为Visual Studio 2019和2022的更新,您可以通过 *Visual Studio安装程序 * 安装clang-cl工具链,并使用它生成
.sln
文件:或
然而,一个更好的工作流程是直接在VS中简单地包含
CMakeLists.txt
文件的open the folder,它将把它识别为一个CMake项目,并提供直接设置编译器等的能力。我发现这种方法的唯一缺点是Visual Studio图形调试器工作流不能使用它,如果您使用DirectX等进行开发,这将对您产生影响。
xpcnnkqh3#
请遵循以下说明:
安装choco如果你没有它:https://chocolatey.org/install
重置您的shell,以便正确设置环境变量(您可以检查是否将每个环境变量的bin文件夹添加到您的Path中)。
使用忍者
从PowerShell
来自GUI
转到您的项目并运行:
从上层菜单中选择
Tools/Configure
,并遵循以下设置:选择"Ninja Multi-Config"并指定本机编译器:
提供编译器的路径:
最后,运行
使用Visual Studio
使用GUI
在某个文件夹中安装llvm-utils:
转到您的项目并运行:
从上层菜单中选择
Tools/Configure
,并遵循以下设置:选择Visual Studio 2019和第二个选项(指定本机编译器)。对于Visual Studio 2019及更高版本,请设置
LLVM_v142
。有关其他版本,请参阅此处了解较旧版本。提供编译器的路径:
最后,运行