Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Mengapa Saya Mendapat Ralat "Tiada Ahli Dinamakan 'signbit' dalam Ruang Nama Global" dalam Catalina C ?

Mengapa Saya Mendapat Ralat "Tiada Ahli Dinamakan 'signbit' dalam Ruang Nama Global" dalam Catalina C ?

DDD
DDDasal
2024-11-15 02:11:02402semak imbas

Why Am I Getting the

Catalina C : "Tiada Ahli Dinamakan 'signbit' dalam Ruang Nama Global" Ralat

Apabila menyusun atur cara C menggunakan pengepala selepas menaik taraf kepada Catalina daripada Mojave, pengguna mungkin menghadapi ralat:

error: no member named 'signbit' in the global namespace

Isu ini timbul apabila pengkompil tidak dapat mengesan pengepala, yang mengandungi fungsi signbit.

Untuk menyelesaikan masalah ini, seseorang mesti memastikan bahawa pengkompil dihalakan kepada Pengepala SDK yang sesuai.

Penyelesaian

  • Sahkan versi pengkompil.
  • Tetapkan Pembolehubah CMAKE_OSX_SYSROOT ke laluan SDK yang betul menggunakan arahan xcrun --show-sdk-path. Laluan ini harus digunakan sebagai hujah untuk -isysroot.
  • Dalam CMake, ini boleh dicapai dengan menambahkan baris berikut pada fail CMakeLists.txt:
set(CMAKE_CXX_FLAGS "[...] -isysroot /sdk/path")

di mana /sdk/path ialah laluan SDK yang diperoleh daripada xcrun.

Selain itu, melumpuhkan Perlindungan Integriti Sistem (SIP) juga boleh menyelesaikan isu tersebut.

Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat "Tiada Ahli Dinamakan 'signbit' dalam Ruang Nama Global" dalam Catalina C ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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