2009-06-10 14 views
36

Ho il seguente codice in un file di esempio:Come includere i file di intestazione nel percorso di ricerca GCC?

#include "SkCanvas.h" 
#include "SkDevice.h" 
#include "SkGLCanvas.h" 
#include "SkGraphics.h" 
#include "SkImageEncoder.h" 
#include "SkPaint.h" 
#include "SkPicture.h" 
#include "SkStream.h" 
#include "SkWindow.h" 

Tuttavia, questo codice si trova in varie cartelle in/home/me/sviluppo/skia (che comprende core/animatore/immagini/porte/svg/e molto altro.)

Come posso far riconoscere a GCC questo percorso?

+0

http://stackoverflow.com/questions/558803/how-to-add-a-default-include-path-for-gcc-in-linux –

risposta

55

Prova gcc -c -I/home/me/development/skia sample.c. Vedi here.

+1

Felice di vedere questa risposta qui. Un altro punto degno di nota sarebbe che quando si hanno molti file sorgente ".c", è necessario specificarli tutti e ciascuno nella riga di comando stessa. Non puoi semplicemente fare qualcosa come un -I per specificare che tutti i file sorgente si trovano in una determinata directory. – Nav

+0

Se l'intestazione si trova nella stessa directory dell'origine, è necessario un inclusivo speciale? Non riesco a compilare il mio codice in entrambi i modi, e non sono sicuro di quale sia il problema – CodyBugstein

+0

Secondo [questa risposta] (https://stackoverflow.com/a/510151/1403102) a una domanda simile, ' gcc' non cercherebbe automaticamente le sottodirectory per i diversi file header. Invece, 'pkg-config' potrebbe produrre l'opzione' -I' corretta? –

16

La direttiva -I fa il lavoro:

gcc -Icore -Ianimator -Iimages -Ianother_dir -Iyet_another_dir my_file.c 
Problemi correlati