Używam kompilatora arm-linux-androideabi-g++
. Kiedy próbuję skompilować prosty program "cześć świat", kompiluje się dobrze. Kiedy go przetestować, dodając prostą obsługę w tym kodzie to działa zbyt wyjątek (po dodaniu -fexceptions
.. Myślę, że to jest domyślnie wyłączone)Jak dodać linker lub kompilować flagę w pliku cmake?
Jest to dla Android urządzenia i chcę tylko korzystać cmake
nie ndk-build
Na przykład - first.cpp
#include <iostream>
using namespace std;
int main()
{
try{
}
catch(...)
{
}
return 0;
}
./arm-linux-androideadi-g++ -o first-test first.cpp -fexceptions
działa bez problemu ..
Problem .. Próbuję skompilować plik przy pomocy pliku cmake.
Chcę dodać -fexceptions
jako flagę. Próbowałem z
set (CMAKE_EXE_LINKER_FLAGS -fexceptions) or set (CMAKE_EXE_LINKER_FLAGS "fexceptions")
i
set (CMAKE_C_FLAGS "fexceptions")
Nadal wyświetla błąd.
teraz mam ten sam problem, i próbuję różnych rzeczy. Poczekaj chwilę i opublikuję odpowiedź. Dla flag kompilacji istnieje nieczysty, ale łatwy sposób: add_definitions ("- truc") – Offirmo
Aby uzyskać bardziej aktualną dyskusję na temat tego pytania (szczególnie jeśli używasz CMake 3.x lub nowszego): [Co to jest nowoczesna metoda ustawiania ogólnych flag kompilacji w CMake?] (http://stackoverflow.com/questions/23995019/what-is-the-modern-method-for-setting-general-compile-flags-in-cmake/23995391# 23995391). – ComicSansMS