2009-06-10 15 views
36

Mam następujący kod w pliku próbki:Jak dołączyć pliki nagłówkowe do ścieżki wyszukiwania 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" 

Jednak kod ten znajduje się w różnych folderach wewnątrz/domu/Me/rozwoju/skia (która obejmuje rdzeń/animator/images/ports/SVG/i wiele więcej.)

Jak mogę sprawić, aby GCC rozpoznało tę ścieżkę?

+0

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

Odpowiedz

55

Spróbuj gcc -c -I/home/me/development/skia sample.c. Zobacz here.

+1

Cieszę się, że widzę tę odpowiedź tutaj. Innym punktem, o którym warto wspomnieć, jest to, że gdy masz wiele plików źródłowych ".c", konieczne jest określenie każdego z nich w samym wierszu poleceń. Nie można po prostu zrobić czegoś takiego jak -I, aby określić, że wszystkie pliki źródłowe znajdują się w określonym katalogu. – Nav

+0

Jeśli nagłówek znajduje się w tym samym katalogu co źródło, czy potrzebujesz specjalnego dodatku? Nie mogę skompilować mojego kodu w żaden sposób i nie jestem pewien, na czym polega problem. – CodyBugstein

+0

Zgodnie z [tą odpowiedzią] (https://stackoverflow.com/a/510151/1403102) na podobne pytanie, ' gcc' nie będzie automatycznie przeszukiwać podkatalogów dla różnych plików nagłówkowych. Zamiast tego 'pkg-config' może wytworzyć właściwą opcję' -I'? –

16

Dyrektywa -I spełnia swoje zadanie:

gcc -Icore -Ianimator -Iimages -Ianother_dir -Iyet_another_dir my_file.c 
Powiązane problemy