我正在尝试为我的项目编写Makefile。
这是文件结构:
生成文件:
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/