Эй, когда я звоню SDL_Load();
, компилятор выдает мне ошибку.Я компилирую с g ++ под Ubuntu.Я установил libsdl2-2.0
и libsdl2-dev
и включил SDL2/SDL.h
.Когда я пытаюсь включить SDL2/SDL_Image.h
, компилятор говорит, что каталог не найден.Мой Makefile (который все еще очень плохо сделан, так как я не очень много знаю об этом) выглядит так:
output : main.o StateMachine.o MainMenuState.o GameState.o ResourceHolder.o
g++ `pkg-config --cflags --libs sdl2` -Wall -o main.o StateMachine.o MainMenuState.o GameState.o ResourceHolder.o output
main.o: main.cpp
g++ -c main.cpp
StateMachine.o: StateMachine.cpp
g++ -c StateMachine.cpp
MainMenuState.o: MainMenuState.cpp
g++ -c MainMenuState.cpp
GameState.o: GameState.cpp
g++ -c GameState.cpp
ResourceHolder.o: ResourceHolder.cpp
g++ -c ResourceHolder.cpp
Я также пробовал sdl2-config --cflags --libs
вместо pkg-config --cflags --libs sdl2
, но он не меняетсячто-нибудь.Под /usr/lib/x86_64-linux-gnu
я обнаружил
libSDL-1.2.so.0
libSDL-1.2.so.0.11.4
libSDL2-2.0.so
libSDL2-2.0.so.0
libSDL2-2.0.so.0.8.0
libSDL2.a
libSDL2main.a
libSDL2.so
libSDL2_test.a
libSDL_image-1.2.so.0
libSDL_image-1.2.so.0.8.4
Я могу использовать другие части SDL, например, для создания окна.Я попробовал -lSDL2_Image
и несколько разных флагов.Было бы здорово, если бы кто-нибудь мог мне помочь, потому что я читаю посты с 6 часов, просто чтобы заставить это работать.Спасибо за любые ответы
Редактировать: Мой Makefile теперь выглядит так
output : main.o StateMachine.o MainMenuState.o GameState.o ResourceHolder.o
g++ `sdl2-config --libs --sdl2-image` -lSDL2_Image -Wall -o main.o StateMachine.o MainMenuState.o GameState.o ResourceHolder.o output
main.o: main.cpp
g++ -c main.cpp
StateMachine.o: StateMachine.cpp
g++ -c StateMachine.cpp
MainMenuState.o: MainMenuState.cpp
g++ -c MainMenuState.cpp
GameState.o: GameState.cpp
g++ -c GameState.cpp
ResourceHolder.o: ResourceHolder.cpp
g++ -c ResourceHolder.cpp `sdl2-config --cflags --libs --sdl2-image`