Nel mio progetto c'è un file allegato in una direttiva ifdef preprocessoreDefinizione di simboli del preprocessore per analizzatore Clion
#ifdef SOME_SYMBOL
... entire file ...
#endif
SOME_SYMBOL è definito da un altro file che è stato compilato prima di questo, e il codice funziona come previsto, ma il statici l'analizzatore non è a conoscenza di questo simbolo e pertanto tratta SOME_SYMBOL non definito. L'intero file non ha evidenziazione della sintassi e parte dell'analisi viene saltata (ad esempio l'evidenziazione dell'errore di sintassi).
C'è un modo per dire all'analizzatore di trattare questo simbolo come definito senza definirlo in CMakeLists.txt?
Non ho la possibilità di definire SOME_SYMBOL in CMakeLists.txt poiché il progetto dipende dal fatto che non è definito in alcuni percorsi di compilazione (cambiando questo sarebbe quasi impossibile).
Aggiornamento:
Sembra che questo sia attualmente un problema aperto con JetBrains. Vedi Issue CPP-2286
È possibile che sia necessario trovare il contesto di inclusione adatto per il file. Se hai una barra di stato visibile, puoi vedere l'elenco a discesa "Contesto:" nell'angolo in basso a destra. Provaci un po '. – uta