2017-01-24 93 views
0

我最近更改了發行版(linux到mac)。 因爲我的項目Makefile存在問題。Makefile包括SDL

Fatal error: <SDL/SDL.h> file not found 

當我直接在我的.h中編寫SDL的路徑時,它可以工作。 但是,與Makefile否,我不明白爲什麼。

GRAPH_FLAGS + = -I/usr/local/include -L/usr/local/lib -lncurses -lSDLmain -lSDL -lSDL_image 

$(GRAPH_NAME): $(GRAPH_OBJS) 
     $(CC) -o $(GRAPH_NAME) $(GRAPH_OBJS) $(GRAPH_FLAGS) 
+4

看起來好像在*鏈接*時添加了'-I/usr/local/include',但在編譯*時需要。 – Biffen

+0

我剛剛試過一個cc test.c -I/usr/lib/include,它適用於test.c:#include int main(){return 0;} – MattAPiroglu

回答

0

使用pkg-config以獲得正確的include路徑:

GRAPH_FLAGS += `pkg-config --cflags sdl2` `pkg-config --libs sdl2` -lncurses ...

0

謝謝您的回答,我找到了解決辦法。 這都是愚蠢的,我的makefile不明白GRAPH_FLAGS
我已經改變了基本CFLAGS,我不知道它是否來自我的品牌版本,但它仍然非常神祕。
我設法安排我的生成文件,因爲它編譯了幾個程序。
我也按照建議去了SDL2。