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

c++ - Makefile找不到库-LMLPHP

生成文件:

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


问题出在哪里?

最佳答案

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

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

关于c++ - Makefile找不到库,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49272571/

10-09 19:56