虚幻引擎(UE) 支持在Windows上使用 Clang 编译器来构建受支持的Microsoft平台。你可以通过以下方式启用Clang:
此页面还包括一个附加选项表,例如指定:
- Clang连接器
- Clang版本
- MSVC版本
- 工具链版本
详见下文的额外选项小节。自UE 5.3起,受支持的最新Clang版本为Clang 16。
什么是Clang
Clang是一款前端编译器,可以将C、C++、Objective-C和Objective-C++编译成机器码。Clang是MSVC(Microsoft Visual C++)编译器的替代品。
安装Clang
你可以通过Visual Studio安装Clang,或直接从LLVM下载页面进行安装。
启用Clang
安装Clang之后,按照下方任一方法在虚幻项目中启用Clang。
构建配置
要在构建配置中启用Clang,找到引擎 BuildConfiguration.xml 文件,并添加以下代码:
<?xml version="1.0" encoding="utf-8" ?>
<Configuration xmlns="https://www.unrealengine.com/BuildConfiguration">
...
<WindowsPlatform>
<Compiler>Clang</Compiler>
</WindowsPlatform>
...
</Configuration>
命令行参数
要使用命令行参数启用Clang,略过 -Compiler=Clang 选项。
引擎配置
要在引擎配置中启用Clang,找到一个引擎配置文件,例如 DefaultEngine.ini ,然后添加以下代码:
[/Script/WindowsTargetPlatform.WindowsTargetSettings]
CompilerVersion=Clang
额外选项
以下选项假定:
- 构建配置(Build Configuration)选项被添加到
BuildConfiguration.xml的<WindowsPlatform>...</WindowsPlatform>分段中。 - 引擎配置(Engine Configuration)选项被添加到引擎配置文件的
[/Script/WindowsTargetPlatform.WindowsTargetSettings]分段,例如DefaultEngine.ini。
| 选项 | 构建配置 | 命令行参数 | 引擎配置 |
|---|---|---|---|
| Clang连接器(Clang linker) | <bAllowClangLinker>true</bAllowClangLinker> |
-ClangLinker |
bAllowClangLinker=true |
| Clang编译器版本(Clang Compiler Version) | <CompilerVersion>Latest</CompilerVersion> |
-CompilerVersion=Latest |
CompilerVersion=Latest |
| MSVC版本(MSVC Version) | <Toolchain>VisualStudio2022</VisualStudio> |
-VCToolchain=VisualStudio2022 |
Toolchain=VisualStudio2022 |
| 工具链版本(Toolchain Version) | <ToolchainVersion>Latest</ToolchainVersion> |
-VCToolchainVersion=Latest |
ToolchainVersion=Latest |
Clang连接器
Clang连接器(Clang Linker)是一个布尔选项,决定了使用Clang进行编译时是否使用Clang连接器。
Epic并未对Microsoft平台使用Clang连接器,目前也并未进行相关测试。
Clang编译器版本
Clang编译器版本(Clang compiler version)是一个字符串选项,决定了使用的指定编译器版本。选项包括:
- 具体版本号(Specific version number):使用指定的确切版本,例如"16.0.0"。
- 最新(Latest):使用最新安装的版本。
MSVC版本
MSVC工具链是一个字符串选项,决定了使用哪个工具链。选项包括:
- VisualStudio2022
工具链版本
工具链版本(Toolchain version)是一个字符串选项,决定了使用的MSVC工具链版本。选项包括:
- 具体版本号(Specific version number):使用指定的确切版本,例如"14.37.32822"。
- 最新(Latest):使用最新安装的版本。
- 预览:使用最新安装的预览版本。
更多信息
点击这些链接可获取以下相关信息: