Mengapa 'signbit' Hilang dari Selepas Naik Taraf kepada Catalina?

Mary-Kate Olsen
Lepaskan: 2024-11-12 17:43:02
asal
329 orang telah melayarinya

Why is Selepas Naik Taraf kepada Catalina? " /> Selepas Meningkatkan ke Catalina? " />

Catalina C : Menangani Ralat "signbit" dalam

Sejurus selepas peningkatan dari Mojave ke Catalina, pengguna mungkin menghadapi kompilasi isu semasa merujuk pengepala dalam program C Masalah ini menunjukkan dirinya sebagai ralat yang berkaitan dengan ketiadaan "signbit" dalam ruang nama global.

Pada mulanya, cuba mengubah suai CFLAGS, CCFLAGS dan CXXFLAGS. pembolehubah persekitaran nampaknya tidak memberikan hasil, namun, apabila diteliti dengan lebih teliti, punca isu terletak di tempat lain.

Peranan CMAKE_OSX_SYSROOT

Nilai CMAKE_OSX_SYSROOT dimainkan peranan penting dalam isu ini. Secara lalai, ia menunjukkan lokasi yang salah selepas menaik taraf kepada Catalina ini mengakibatkan sistem binaan menggunakan fail pengepala yang salah, yang tidak mempunyai definisi yang diperlukan.

Penyelesaian. : Menetapkan CMAKE_OSX_SYSROOT yang Betul

Untuk membetulkan keadaan, adalah penting untuk menentukan laluan yang betul secara manual ke pengepala SDK. Ini boleh dicapai dengan menggunakan langkah berikut:

  1. Pastikan Xcode dikemas kini untuk mengelakkan masalah keserasian yang berpotensi.
  2. Gunakan perintah xcrun --show-sdk-path untuk tentukan laluan SDK yang betul.
  3. Ubah suai konfigurasi CMake seperti berikut:

Sebagai alternatif, anda boleh menetapkan bendera -isysroot terus untuk pengkompil CXX:

Kesimpulan

Dengan menangani tetapan CMAKE_OSX_SYSROOT yang tidak betul, anda boleh berjaya menyelesaikan ralat yang berkaitan dengan "signbit" dan terus membangunkan program C dengan dalam persekitaran Catalina.

Atas ialah kandungan terperinci Mengapa 'signbit' Hilang dari Selepas Naik Taraf kepada Catalina?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan