[android] Impostazione di C ++ 11 (std :: thread) per NDK con ADT / Eclipse


0 Answers

In Android.mk aggiungi LOCAL_CPPFLAGS := -std=c++11 -D __cplusplus=201103L quindi ricostruisci il progetto (per riconfigurare il compilatore). Dopo la ricostruzione, il progetto aggiunge automaticamente il percorso necessario di stl in Path and Symbols

Question

Ho cercato di usare C ++ 11. Sto sviluppando un progetto Android e voglio usare std :: mutex. Insieme a OpenCV, ma non importa quello che faccio, non riesco proprio a risolvere il Type 'mutex' could not be resolved errore.

Ho provato a seguire i tutorial che ho trovato su SO e in altri posti. LINK1 LINK2 LINK3 LINK4

  1. ADT v22.3.0-887826
  2. Compilatori C / C ++ installati (CDT)

Dopo tanti tutorial, è diventato un vero casino ora. Quindi spiegherò le mie impostazioni attuali

  • Progetto> Proprietà> Creazione C / C ++> Editor della catena di strumenti
    • La catena di strumenti attuale è "Cross GCC"
    • Current Builder è "Builder Android"
  • Progetto> Proprietà> Creazione C / C ++> Opzioni di individuazione

    • Il comando di richiamo del compilatore è "gcc"
    • Gli argomenti di richiamo del Compilter sono -E -P -v -dD "$ {plugin_state_location} /specs.c -std = c ++ 11"
  • Progetto> Generale C / C ++> Percorsi e simboli> # scheda Simboli

    • Simbolo = __cplusplus e Valore = 1

Nel mio file Application.mk ho il seguente

APP_STL := gnustl_static
APP_USE_CPP0X := true
APP_CPPFLAGS := -std=c++11 -frtti -fexceptions
APP_ABI := armeabi-v7a
APP_PLATFORM := android-8

Ho provato a cambiare il valore del simbolo cplusplus a 201103L e ho provato __GXX_EXPERIMENTAL_CXX0X con un valore vuoto

Ma niente sembra funzionare, cosa sto facendo male ??

Qualsiasi aiuto è apprezzato!




Related