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.
Untuk menambah pemaut atau menyusun bendera dalam fail CMake, ikuti ini langkah:
Takrifkan bendera: Gunakan arahan berikut untuk mentakrifkan bendera -fexceptions:
SET(FLAG_NAME -fexceptions)
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}")
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}")
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})
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!