Я пытаюсь написать Makefile для своего проекта. Вот файловая структура:
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.exe: не удается найти -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
В чем проблема?
Проблема связана с g++
— person Faustas Butkus schedule 14.03.2018
-lSDL2/lib/x86
неверно. Вы используете параметр-l
в нижнем регистре, который используется для добавления библиотеки для связи, а не пути для поиска библиотек.Чтобы добавить путь, используйте параметр
-L
в верхнем регистре:-LSDL2/lib/x86