Teeworlds: Build gagal dibangun di atas non-x86 (karena immintrin.h)

Dibuat pada 15 Des 2018  ·  5Komentar  ·  Sumber: 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

Komentar yang paling membantu

Disalin dari https://github.com/teeworlds/teeworlds/issues/1844#issuecomment -446756342:

Perhatikan bahwa ini masih akan gagal dikompilasi untuk arsitektur selain dari Intel (dan AMD). Kode yang dimaksud cukup tidak portabel:

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

Saya sarankan untuk menghapusnya sampai solusi portabel ditemukan. Kode Teeworlds (terutama di luar src/base/system.c) tidak boleh bergantung pada fungsi compiler dan arsitektur tertentu tanpa fallback.

Untuk menguraikan: Ada arsitektur CPU selain Intel, dan kita tidak boleh bergantung pada yang spesifik. Jika ya, kita harus melakukannya di src/base/system.c tetapi tidak membuat kompilasi gagal pada arsitektur yang tidak dikenal.

Semua 5 komentar

Perbaikannya tidak di-porting ke CMake, saya percaya.
Pada 64bit, Anda cukup mengomentari #include <immintrin.h> .
Jika tidak berhasil, dapatkah Anda mencoba menambahkan flag kompilasi -msse2 ? Ini harus memperbaikinya afaik.

1844

@Dune-jr Saya tidak berpikir bahwa -msse2 akan bekerja pada ppc64le atau s390x atau lengan, karena khusus x86.

Benar.
Karena Anda menggunakan 64-bit, itu seharusnya berfungsi tanpa #include <immintrin.h>

@Dune-jr ada juga lengan 32bit ;)

Disalin dari https://github.com/teeworlds/teeworlds/issues/1844#issuecomment -446756342:

Perhatikan bahwa ini masih akan gagal dikompilasi untuk arsitektur selain dari Intel (dan AMD). Kode yang dimaksud cukup tidak portabel:

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

Saya sarankan untuk menghapusnya sampai solusi portabel ditemukan. Kode Teeworlds (terutama di luar src/base/system.c) tidak boleh bergantung pada fungsi compiler dan arsitektur tertentu tanpa fallback.

Untuk menguraikan: Ada arsitektur CPU selain Intel, dan kita tidak boleh bergantung pada yang spesifik. Jika ya, kita harus melakukannya di src/base/system.c tetapi tidak membuat kompilasi gagal pada arsitektur yang tidak dikenal.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat