Maison > développement back-end > C++ > Comment ajouter des exceptions -fexceptions et d'autres indicateurs de liaison/compilateur dans CMake ?

Comment ajouter des exceptions -fexceptions et d'autres indicateurs de liaison/compilateur dans CMake ?

DDD
Libérer: 2024-12-17 00:02:25
original
653 Les gens l'ont consulté

How to Add -fexceptions and Other Linker/Compiler Flags in CMake?

Comment incorporer un éditeur de liens et compiler des indicateurs dans un fichier CMake

Lors de la compilation avec le compilateur arm-linux-androideabi-g, ajout d'une exception la gestion nécessite l’inclusion de l’indicateur -fexceptions. Bien que cela fonctionne en ligne de commande, le problème survient lors de la tentative de compilation à l'aide d'un fichier CMake.

Pour ajouter l'indicateur -fexceptions dans CMake, suivez ces étapes :

  1. Définir une constante : Déclarez les drapeaux comme constante.
SET(CMAKE_EXCEPTIONS_FLAG "-fexceptions")
Copier après la connexion
  1. Ajouter aux variables CMake : ajoutez l'indicateur aux variables CMake appropriées.
SET(CMAKE_CXX_FLAGS  "${CMAKE_CXX_FLAGS} ${CMAKE_EXCEPTIONS_FLAG}")
SET(CMAKE_EXE_LINKER_FLAGS  "${CMAKE_EXE_LINKER_FLAGS} ${CMAKE_EXCEPTIONS_FLAG}")
Copier après la connexion
  1. Utiliser les propriétés cibles : Vous pouvez également utiliser les propriétés cibles pour définir les flags.
get_target_property(TEMP ${THE_TARGET} COMPILE_FLAGS)
if(TEMP STREQUAL "TEMP-NOTFOUND")
    SET(TEMP "")
else()
    SET(TEMP "${TEMP} ")
endif()
SET(TEMP "${TEMP}${CMAKE_EXCEPTIONS_FLAG}")
set_target_properties(${THE_TARGET} PROPERTIES COMPILE_FLAGS ${TEMP})
Copier après la connexion

En mettant en œuvre ces étapes, vous pouvez incorporer les indicateurs nécessaires dans votre fichier CMake et réussir à compiler votre code avec la fonctionnalité de gestion des exceptions souhaitée.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal