【问题标题】:How to enable /arch:AVX for Unreal Engine 4?如何为 Unreal Engine 4 启用 /arch:AVX?
【发布时间】:2020-08-09 18:43:05
【问题描述】:

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

我应该在哪里设置?

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

【问题讨论】:

    标签: c++ visual-studio-2017 unreal-engine4 avx visual-studio-2017-build-tools


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

      cl /EHsc /arch:AVX /Fe$(DIR_BIN)\$(EXECUTABLE_NAME) /I$(DIR_INCLUDE) $(SRC_FILES)
      

      【讨论】:

      • 我的意思是这很合理,但是当前项目的虚幻引擎文件夹中的这个文件在哪里?如果我发现添加它很容易。
      • @Nik 当然是你调用nmake的地方,通常来自项目的根目录。那里应该有一个 makefile 可供 nmake 读取和执行。除非你用/F 调用nmake,在这种情况下你已经知道makefile 路径
      • 我会看一下,但无论何时编译和构建,UE 都会自行完成。
      猜你喜欢
      • 2015-02-12
      • 2014-11-29
      • 1970-01-01
      • 2018-03-20
      • 2013-12-08
      • 2021-11-23
      • 2014-09-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多