Wie Linker oder Compiler-Flag in cmake-Datei hinzufügen?

Ich bin mit der arm-linux-androideabi-g++ compiler. Wenn ich versuche zu kompilieren, eine einfache "hello world" - Programm kompiliert er fein. Wenn ich es testen, indem eine einfache Ausnahmebehandlung im code funktioniert es auch (nach dem hinzufügen -fexceptions .. ich denke, es ist standardmäßig deaktiviert )

Dies ist für ein android-Gerät, und ich möchte nur zu verwenden cmake nicht ndk-build

Beispielsweise - first.cpp

#include <iostream>

using namespace std;

int main()
{
   try{
   }
   catch(...)
   {
   }
   return 0;
}

./arm-linux-androideadi-g++ -o first-test first.cpp -fexceptions

Es funktioniert ohne Probleme ..

Das problem .. ich versuche die Datei zu kompilieren mit cmake Datei.

Möchte ich hinzufügen, dass die -fexceptions wie eine fahne. Ich habe versucht, mit

set (CMAKE_EXE_LINKER_FLAGS -fexceptions ) or set (CMAKE_EXE_LINKER_FLAGS "fexceptions" )

und

set ( CMAKE_C_FLAGS "fexceptions")

Es immer noch ein Fehler angezeigt.

Kommentar zu dem Problem
bis jetzt bin ich mit dem gleichen problem, und ich versuche verschiedene Dinge. Hängen ein wenig und ich poste eine Antwort. Für compile-flags, es ist eine unsaubere aber einfache Möglichkeit : add_definitions("-truc") Kommentarautor: Offirmo
Für eine mehr up-to-date Diskussion über diese Frage (vor allem, wenn Sie CMake 3.x oder neuer): Was ist die moderne Methode zur Festlegung der Allgemeinen compile-flags in CMake?. Kommentarautor: ComicSansMS

InformationsquelleAutor der Frage solti | 2012-08-02

Schreibe einen Kommentar