2014-04-04 8 views
5

Cerco di includere un file, definito in cmake.Errore del compilatore interno GCC: errore di segmentazione

-DUNINSTD_INC=$ENV{TARGET_FS}/usr/include/unistd.h 

ho controllato questo definire e UNINSTD_INC è il percorso file corretto.

Il codice-snipped, che provoca l'errore di segmentazione è la seguente:

#define SURROUND(x) QUOTE(x) 
#define QUOTE(x) #x 

#include SURROUND(UNINSTD_INC) 

Se compilo il codice, ottengo il seguente errore:

unistd.h: 1: errore di compilatore interno : Errore di segmentazione Inviate una segnalazione di bug completa, con la sorgente preelaborata, se appropriato.

Qualcuno ha un'idea per risolvere questo problema?

Oppure un altro modo per includere un file predefinito?

versione di gcc: gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5)

+1

Hai provato gcc 4.8? Inoltre: come appare la sorgente preelaborata? – stefan

+0

Inly può usare questa versione di gcc. Solo questo è nella compensazione OSS. Inoltre, non riesco a visualizzare il codice preelaborato, il segfault è all'inizio del preprocessing del codice – Korbi

+0

Bene, devi cercare di isolare il problema. funziona senza i macro? – stefan

risposta

-1

La correzione è semplice: Scrivi un bug report, scoprire chi per inviarlo a, e attendere una versione del compilatore che lo corregge, come suggerito dal messaggio di errore.

+0

Sì, questo sarebbe il modo più semplice. Ma non ho il tempo di aspettare. – Korbi