La risposta è piuttosto semplice.
Il generatore di eclse cdt ignora le definizioni aggiunte con add_definitions (...) durante l'analisi dei simboli. Invece usa CMAKE_CXX_COMPILER_ARG1. Quindi tutto quello che dovete fare è: Aggiungere -DCMAKE_CXX_COMPILER_ARG1 = -std = C++ 11 quando si richiama cmake
file di progetto Generazione da linea di comando:
cmake ../../src -G"Eclipse CDT4 - MinGW Makefiles" -DCMAKE_ECLIPSE_VERSION=4.2 -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER_ARG1=-std=c++11
progetti di generazione da CMake gui:
- Select source and build directory.
- now BEFORE hitting configure or generate. Press "Add Entry" and add a new entry. Name:CMAKE_CXX_COMPILER_ARG1 Type:STRING Value:-std=c++11
- press Generate and create the Eclipse project
È importante impostare anticipatamente CMAKE_CXX_COMPILER_ARG1 prima di premere Configura o generare la prima volta!
Questo è tutto. Il progetto verrà generato con simboli corretti. l'indicizzatore, l'evidenziazione della sintassi e il completamento automatico dovrebbero funzionare come previsto senza modificare manualmente le impostazioni del progetto.
Non ha funzionato per me. Sto usando cmake 3.5.1 ed eclipse Kepler. Ho ancora dovuto fare ciò che il secondo punto qui suggerito di fare (https://stackoverflow.com/a/14381512/1971003) - Qualcosa che mi manca qui? Grazie !! –