2

我正在尝试为 Unreal Engine 4 设置 AVX 支持。据我所知,它默认使用 SSE2 并且它是自己的 NMake,因此没有 Visual Studio 属性页面可以访问和添加 Arch。

我应该在哪里设置这个?

注意:尝试支持 AVX、AVX2 和 AVX512。

4

2 回答 2

2

在 UE4 源代码中查找 VSToolChain.cs 文件。该文件正在为 MSVC 设置所有编译器标志。

在那里,搜索它在哪里做 /arch:AVX。它在某些 if() 中。要强制使用 AVX 或 AVX2 或 AVX512,只需将 /arch:AVX 或 /arch:AVX2 或 /arch:AVX512 放在该函数的顶部,以便始终添加标志。然后重新编译引擎。

于 2021-09-04T05:27:49.087 回答
0

Visual Studio 属性没有什么特别之处。它们只是 xml 项目文件中节点的“人类可读”版本,是编译器 (cl.exe) 和链接器 (link.exe) 的命令行参数。只需打开属性,设置 AVX 选项,然后切换到“命令行”选项卡即可查看赋予 cl.exe 的真实选项

因此,您只需要将选项添加到您的 nmake 文件/arch:[AVX|AVX2|AVX512]中调用cl.exe的行。例如

cl /EHsc /arch:AVX /Fe$(DIR_BIN)\$(EXECUTABLE_NAME) /I$(DIR_INCLUDE) $(SRC_FILES)
于 2020-04-26T09:36:59.630 回答