Makefile找不到libs

时间:2018-03-14 08:10:35

标签: c++ gcc makefile g++ linker-errors

我正在尝试为我的项目编写Makefile。 这是文件结构:

enter image description here

生成文件:

CXXFLAGS = -ISDL2/include -std=c++11
LXXFLAGS = -lSDL2/lib/x86 -lSDL2main -lSDL2 -lSDL2_image

main.exe: main.o BoardField.o ChessPiece.o Game.o
    g++ main.o BoardField.o ChessPiece.o Game.o -o main.exe $(LXXFLAGS) -std=c++11

main.o: main.cpp 
    g++ main.cpp -c $(CXXFLAGS)

BoardField.o: BoardField.cpp 
    g++ BoardField.cpp -c $(CXXFLAGS) 

ChessPiece.o: ChessPiece.cpp 
    g++ ChessPiece.cpp -c $(CXXFLAGS) 

Game.o: Game.cpp 
    g++ Game.cpp -c $(CXXFLAGS)  

我得到了这些错误:

  

g ++ main.o BoardField.o ChessPiece.o Game.o -o main.exe -lSDL2 / lib / x86   -lSDL2main -lSDL2 -lSDL2_image -std = c ++ 11 c:/ mingw / bin /../ lib / gcc / mingw32 / 6.3.0 /../../../../ mingw32 / bin / ld 。可执行程序:   找不到-lSDL2 / lib / x86   C:/ MinGW的/ bin中/../ LIB / GCC /的mingw32 / 6.3.0 /../../../../的mingw32 / bin中/ ld.exe:   找不到-lSDL2main   C:/ MinGW的/ bin中/../ LIB / GCC /的mingw32 / 6.3.0 /../../../../的mingw32 / bin中/ ld.exe:   找不到-lSDL2   C:/ MinGW的/ bin中/../ LIB / GCC /的mingw32 / 6.3.0 /../../../../的mingw32 / bin中/ ld.exe:   找不到-lSDL2_image

问题出在哪里?

1 个答案:

答案 0 :(得分:5)

-lSDL2/lib/x86不正确。您使用小写-l选项,该选项用于添加以进行链接,而不是搜索库的路径。

要添加路径,请使用大写-L选项:-LSDL2/lib/x86