../src/engine/client/client.cpp:5:10: fatal error: immintrin.h: No such file or directory
#include <immintrin.h> //_mm_pause
^~~~~~~~~~~~~
我相信,该修复程序未移植到 CMake。
在 64 位上,您可以简单地注释掉#include <immintrin.h>
。
如果它不起作用,您可以尝试添加编译标志-msse2
吗? 它应该修复它afaik。
@Dune-jr 我认为-msse2
不适用于 ppc64le 或 s390x 或 arm,因为它是特定于 x86 的。
对。
由于您使用的是 64 位,因此它应该可以在没有#include <immintrin.h>
情况下正常工作
@Dune-jr 还有 32bit arm ;)
复制自https://github.com/teeworlds/teeworlds/issues/1844#issuecomment -446756342:
请注意,对于 Intel(和 AMD)以外的体系结构,这仍然无法编译。 有问题的代码非常不可移植:
我建议在找到便携式解决方案之前将其删除。 Teeworlds 代码(尤其是在 src/base/system.c 之外)不应依赖于此类特定于编译器和体系结构的函数而无需回退。
详细说明:除了 Intel 之外还有 CPU 架构,我们不应该依赖特定的架构。 如果我们这样做,我们应该在 src/base/system.c 中进行,但不要在未知架构上编译失败。
最有用的评论
复制自https://github.com/teeworlds/teeworlds/issues/1844#issuecomment -446756342:
详细说明:除了 Intel 之外还有 CPU 架构,我们不应该依赖特定的架构。 如果我们这样做,我们应该在 src/base/system.c 中进行,但不要在未知架构上编译失败。