Обновленный ответ - май 2019
Кажется, что пакет openal
больше не находится в homebrew , и это приводит к сбою приведенных ниже инструкций.Я не знаю фон за этим.Вот другой подход.
Вы можете найти все pkg-config
связанные части sfml
следующим образом:
find /usr/local/Cellar/sfml -name \*pc
/usr/local/Cellar/sfml/2.5.1/lib/pkgconfig/sfml-network.pc
/usr/local/Cellar/sfml/2.5.1/lib/pkgconfig/sfml-all.pc
/usr/local/Cellar/sfml/2.5.1/lib/pkgconfig/sfml-graphics.pc
/usr/local/Cellar/sfml/2.5.1/lib/pkgconfig/sfml-audio.pc
/usr/local/Cellar/sfml/2.5.1/lib/pkgconfig/sfml-system.pc
/usr/local/Cellar/sfml/2.5.1/lib/pkgconfig/sfml-window.pc
Кажется, вы не можете использовать sfml-all
или sfml-audio
вПриведенный выше список, так что вам нужно будет выбрать, какие части вы хотите использовать, и захватить их по отдельности, так что если вы хотите graphics
, window
и system
:
pkg-config --libs --cflags sfml-graphics
-I/usr/local/Cellar/sfml/2.5.1/include
-I/usr/local/opt/freetype/include/freetype2
-I/usr/local/Cellar/sfml/2.5.1/include
-L/usr/local/Cellar/sfml/2.5.1/lib -lsfml-graphics -lsfml-window -lsfml-system
pkg-config --libs --cflags sfml-system
-I/usr/local/Cellar/sfml/2.5.1/include
-L/usr/local/Cellar/sfml/2.5.1/lib -lsfml-system
pkg-config --libs --cflags sfml-window
-I/usr/local/Cellar/sfml/2.5.1/include
-L/usr/local/Cellar/sfml/2.5.1/lib -lsfml-window -lsfml-system
Итак, вы быскомпилировать с:
g++ main.cpp $(pkg-config --libs --cflags sfml-window sfml-system sfml-graphics) -o main
Оригинальный ответ
Если вы установили sfml через homebrew , я бы предложил вам такжеустановить pkg-config
следующим образом:
brew install pkg-config
Затем вы можете получить параметры, необходимые для компиляции:
pkg-config --libs --cflags sfml-all
Пример вывода
-I/usr/local/Cellar/sfml/2.4.2_1/include -L/usr/local/Cellar/sfml/2.4.2_1/lib -lsfml-graphics -lsfml-window -lsfml-audio -lsfml-network -lsfml-system
Таким образом, вы можете скомпилировать с:
g++ main.cpp $(pkg-config --libs --cflags sfml-all) -o main