Teeworlds: λΉ„ x86μ—μ„œ λΉŒλ“œ μ‹€νŒ¨(immintrin.h둜 인해)

에 λ§Œλ“  2018λ…„ 12μ›” 15일  Β·  5μ½”λ©˜νŠΈ  Β·  좜처: teeworlds/teeworlds

../src/engine/client/client.cpp:5:10: fatal error: immintrin.h: No such file or directory
 #include <immintrin.h> //_mm_pause
          ^~~~~~~~~~~~~
bug build system

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

https://github.com/teeworlds/teeworlds/issues/1844#issuecomment -446756342μ—μ„œ 볡사:

Intel(및 AMD) μ•„ν‚€ν…μ²˜ μ΄μ™Έμ˜ μ•„ν‚€ν…μ²˜μ—μ„œλŠ” μ—¬μ „νžˆ μ»΄νŒŒμΌμ— μ‹€νŒ¨ν•©λ‹ˆλ‹€. 문제의 μ½”λ“œλŠ” 이식이 λΆˆκ°€λŠ₯ν•©λ‹ˆλ‹€.

https://github.com/teeworlds/teeworlds/blob/dff453d377e56a1389ca4313767b4f05f61b7985/src/engine/client/client.cpp#L5

https://github.com/teeworlds/teeworlds/blob/dff453d377e56a1389ca4313767b4f05f61b7985/src/engine/client/client.cpp#L1779

νœ΄λŒ€μš© μ†”λ£¨μ…˜μ„ 찾을 λ•ŒκΉŒμ§€ μ œκ±°ν•˜λŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€. Teeworlds μ½”λ“œ(특히 src/base/system.c μ™ΈλΆ€)λŠ” λŒ€μ²΄ 없이 μ΄λŸ¬ν•œ 컴파일러 및 μ•„ν‚€ν…μ²˜ κ΄€λ ¨ κΈ°λŠ₯에 μ˜μ‘΄ν•΄μ„œλŠ” μ•ˆ λ©λ‹ˆλ‹€.

μžμ„Ένžˆ μ„€λͺ…ν•˜μžλ©΄ Intel 외에도 CPU μ•„ν‚€ν…μ²˜κ°€ 있으며 νŠΉμ • μ•„ν‚€ν…μ²˜μ— μ˜μ‘΄ν•΄μ„œλŠ” μ•ˆ λ©λ‹ˆλ‹€. κ·Έλ ‡λ‹€λ©΄ src/base/system.cμ—μ„œ μˆ˜ν–‰ν•΄μ•Ό ν•˜μ§€λ§Œ μ•Œ 수 μ—†λŠ” μ•„ν‚€ν…μ²˜μ—μ„œ 컴파일이 μ‹€νŒ¨

λͺ¨λ“  5 λŒ“κΈ€

μˆ˜μ • 사항은 CMake둜 μ΄μ‹λ˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€.
64λΉ„νŠΈμ—μ„œλŠ” #include <immintrin.h> λ₯Ό 주석 μ²˜λ¦¬ν•˜λ©΄ λ©λ‹ˆλ‹€.
μž‘λ™ν•˜μ§€ μ•ŠμœΌλ©΄ -msse2 컴파일 ν”Œλž˜κ·Έλ₯Ό μΆ”κ°€ν•  수 μžˆμŠ΅λ‹ˆκΉŒ? 그것은 그것을 κ³ μ³μ•Όν•©λ‹ˆλ‹€.

1844λ…„

@Dune-jr -msse2 λŠ” x86 μ „μš©μ΄κΈ° λ•Œλ¬Έμ— ppc64le λ˜λŠ” s390x λ˜λŠ” armμ—μ„œ μž‘λ™ν•˜μ§€ μ•Šμ„ 것이라고 μƒκ°ν•©λ‹ˆλ‹€.

였λ₯Έμͺ½.
64λΉ„νŠΈμ΄λ―€λ‘œ #include <immintrin.h> 없이 κ°„λ‹¨νžˆ μž‘λ™ν•©λ‹ˆλ‹€.

@Dune-jr 32λΉ„νŠΈ 암도 μžˆμŠ΅λ‹ˆλ‹€ ;)

https://github.com/teeworlds/teeworlds/issues/1844#issuecomment -446756342μ—μ„œ 볡사:

Intel(및 AMD) μ•„ν‚€ν…μ²˜ μ΄μ™Έμ˜ μ•„ν‚€ν…μ²˜μ—μ„œλŠ” μ—¬μ „νžˆ μ»΄νŒŒμΌμ— μ‹€νŒ¨ν•©λ‹ˆλ‹€. 문제의 μ½”λ“œλŠ” 이식이 λΆˆκ°€λŠ₯ν•©λ‹ˆλ‹€.

https://github.com/teeworlds/teeworlds/blob/dff453d377e56a1389ca4313767b4f05f61b7985/src/engine/client/client.cpp#L5

https://github.com/teeworlds/teeworlds/blob/dff453d377e56a1389ca4313767b4f05f61b7985/src/engine/client/client.cpp#L1779

νœ΄λŒ€μš© μ†”λ£¨μ…˜μ„ 찾을 λ•ŒκΉŒμ§€ μ œκ±°ν•˜λŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€. Teeworlds μ½”λ“œ(특히 src/base/system.c μ™ΈλΆ€)λŠ” λŒ€μ²΄ 없이 μ΄λŸ¬ν•œ 컴파일러 및 μ•„ν‚€ν…μ²˜ κ΄€λ ¨ κΈ°λŠ₯에 μ˜μ‘΄ν•΄μ„œλŠ” μ•ˆ λ©λ‹ˆλ‹€.

μžμ„Ένžˆ μ„€λͺ…ν•˜μžλ©΄ Intel 외에도 CPU μ•„ν‚€ν…μ²˜κ°€ 있으며 νŠΉμ • μ•„ν‚€ν…μ²˜μ— μ˜μ‘΄ν•΄μ„œλŠ” μ•ˆ λ©λ‹ˆλ‹€. κ·Έλ ‡λ‹€λ©΄ src/base/system.cμ—μ„œ μˆ˜ν–‰ν•΄μ•Ό ν•˜μ§€λ§Œ μ•Œ 수 μ—†λŠ” μ•„ν‚€ν…μ²˜μ—μ„œ 컴파일이 μ‹€νŒ¨

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰