[英]g++: No such file or directory?
(在Linux上,嘗試設置SDL)我花了一些時間來處理makefile,發現它們很難學習。 這是我遇到的錯誤。
g++: error: game.exe: No such file or directory
make: *** [game.exe] Error 1
這是我的makefile。 (任何關於改善它的建議都會很棒。無論我能找到什么工作,我都會被打成一片。)
#Game Make file
TARGET = game.exe
OBJS = App.o\
App_OnInit.o\
App_OnEvent.o\
App_OnLoop.o\
App_OnRender.o \
App_OnCleanup.o\
SDL_CFLAGS := $(shell sdl-config --cflags)
SDL_LDFLAGS := $(shell sdl-config --libs)
CFLAGS = -Wall -o
LIBS =
LDFLAGS =
$(TARGET): $(OBJS)
g++ $(CFLAGS) $(SDL_CFLAGS) $@ $(LDFLAGS) $(OBJS) $(SDL_LDFLAGS) $(LIBS)
%.o: src/%.cpp
g++ -c $(SDL_CFLAGS) $< $(SDL_LDFLAGS)
.PHONY: clean
clean:
rm -f $(TARGET) $(OBJS)
您可以根據規則交換$(CFLAGS)
和$(SDL_CFLAGS)
來制作$(TARGET)
或更好地從CFLAGS
刪除-o
並將其直接放在$@
之前:
...
CFLAGS = -Wall
...
$(TARGET): $(OBJS)
g++ $(CFLAGS) $(SDL_CFLAGS) -o $@ $(LDFLAGS) $(OBJS) $(SDL_LDFLAGS) $(LIBS)
-o
選項應緊鄰要生成的可執行文件的名稱。 在您的原始Makefile
它是$(CFLAGS)
一部分,后跟SDL庫的C標志。 因此,編譯器嘗試鏈接game.exe
( $@
)而不是使用該名稱生成可執行文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.