Heim > Backend-Entwicklung > C++ > Wie füge ich -fExceptions und andere Linker-/Compiler-Flags in CMake hinzu?

Wie füge ich -fExceptions und andere Linker-/Compiler-Flags in CMake hinzu?

DDD
Freigeben: 2024-12-17 00:02:25
Original
654 Leute haben es durchsucht

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

So integrieren Sie Linker und Kompilierungsflags in eine CMake-Datei

Beim Kompilieren mit dem Arm-Linux-Androideabi-G-Compiler wird eine Ausnahme hinzugefügt Die Handhabung erfordert die Einbeziehung des Flags -fExceptions. Während es über die Befehlszeile funktioniert, tritt das Problem auf, wenn versucht wird, mit einer CMake-Datei zu kompilieren.

Um das Flag -fExceptions in CMake hinzuzufügen, befolgen Sie diese Schritte:

  1. Konstante definieren: Deklarieren Sie die Flags als Konstante.
SET(CMAKE_EXCEPTIONS_FLAG "-fexceptions")
Nach dem Login kopieren
  1. An CMake-Variablen anhängen: Flag an die entsprechenden CMake-Variablen anhängen.
SET(CMAKE_CXX_FLAGS  "${CMAKE_CXX_FLAGS} ${CMAKE_EXCEPTIONS_FLAG}")
SET(CMAKE_EXE_LINKER_FLAGS  "${CMAKE_EXE_LINKER_FLAGS} ${CMAKE_EXCEPTIONS_FLAG}")
Nach dem Login kopieren
  1. Zieleigenschaften verwenden: Alternativ können Sie Zieleigenschaften verwenden, um die festzulegen 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})
Nach dem Login kopieren

Durch die Implementierung dieser Schritte können Sie die erforderlichen Flags in Ihre CMake-Datei integrieren und Ihren Code erfolgreich mit der gewünschten Ausnahmebehandlungsfunktionalität kompilieren.

Das obige ist der detaillierte Inhalt vonWie füge ich -fExceptions und andere Linker-/Compiler-Flags in CMake hinzu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage