Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Menambah Pemaut atau Menyusun Bendera dengan betul dalam CMake?

Bagaimana untuk Menambah Pemaut atau Menyusun Bendera dengan betul dalam CMake?

Linda Hamilton
Lepaskan: 2024-12-26 02:34:10
asal
188 orang telah melayarinya

How to Correctly Add Linker or Compile Flags in CMake?

Cara Menambah Pemaut atau Menyusun Bendera dalam Fail CMake

Pernyataan Masalah

Apabila menyusun atur cara mudah dengan pengendalian pengecualian menggunakan arm-linux pengkompil -androideabi-g, bendera -fexceptions mesti ditambah untuk membolehkan pengendalian pengecualian. Walau bagaimanapun, percubaan untuk menambah bendera ini melalui CMake menggunakan set(CMAKE_EXE_LINKER_FLAGS) atau set(CMAKE_C_FLAGS) mengakibatkan ralat.

Penyelesaian

Untuk menambah pemaut atau menyusun bendera dalam fail CMake, ikuti ini langkah:

  1. Takrifkan bendera: Gunakan arahan berikut untuk mentakrifkan bendera -fexceptions:

    SET(FLAG_NAME -fexceptions)
    Salin selepas log masuk
  2. Lampirkan pada pembolehubah CMake: Tambahkan bendera pada pembolehubah CMake yang berkaitan . Untuk bendera pengkompil:

    SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${FLAG_NAME}")
    SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${FLAG_NAME}")
    Salin selepas log masuk

    Untuk bendera pemaut:

    SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${FLAG_NAME}")
    SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${FLAG_NAME}")
    Salin selepas log masuk
  3. Gunakan sifat sasaran: Sebagai alternatif, anda boleh menggunakan sifat sasaran:

    get_target_property(TEMP ${TARGET} COMPILE_FLAGS)
    if(TEMP STREQUAL "TEMP-NOTFOUND")
      SET(TEMP "")
    else()
      SET(TEMP "${TEMP} ")
    endif()
    SET(TEMP "${TEMP}${FLAG_NAME}")
    set_target_properties(${TARGET} PROPERTIES COMPILE_FLAGS ${TEMP})
    Salin selepas log masuk
  4. Pilih kaedah: Pilih salah satu kaedah yang disediakan berdasarkan pilihan anda. Kaedah 2 biasanya disyorkan.

Dengan mengikuti langkah ini, anda boleh berjaya menambah pemaut atau menyusun bendera dalam fail CMake dan menyelesaikan isu mendayakan pengendalian pengecualian dengan bendera -fexceptions.

Atas ialah kandungan terperinci Bagaimana untuk Menambah Pemaut atau Menyusun Bendera dengan betul dalam CMake?. 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