Список библиотек мультимедийных систем Ubuntu 18.04

Я собираю SDL2 в статическую библиотеку. Я хочу динамически ссылаться на системные библиотеки, которые присутствуют в Ubuntu 18.04. Насколько я понимаю, следующие библиотеки являются системными библиотеками, то есть они присутствуют на всех машинах Ubuntu 18.04:

  • pthreads
  • X11, Xext
  • ALSA (pulseaudio). к тому же)
  • opengl

Теперь я знаю, что файлы заголовков для этих библиотек должны быть установлены для успешной компиляции, например apt install libXXX-dev Однако библиотеки (.so файлы) уже должны присутствовать. Я могу успешно связаться с: -lX11 -lXext -lpthread -dl -GL. Однако я не могу найти соответствующие флаги компоновщика для ALSA (пробовал -lasound вариантов безрезультатно). Любые ответы, которые я нашел в Интернете, говорят об установке asound2, но если я сделаю это, то распределенный двоичный файл потребует от пользователя установите эти библиотеки также! В этом не должно быть необходимости!

Так что я был бы очень признателен, если бы кто-нибудь показал мне флаги компоновщика для системной библиотеки ALSA. Спасибо!

0
задан 2 May 2019 в 03:43

1 ответ

Кажется, у меня возникла проблема с системной библиотекой ALSA. Я не знал о символьных ссылках версий, используемых в некоторых библиотеках Linux. См. stackoverflow q & amp; а . Таким образом, хотя пакет libasound2-dev, по-видимому, устанавливает несистемную библиотеку в дополнение к заголовкам, он фактически является символической ссылкой на самую последнюю системную библиотеку linux ASLA. Таким образом, бинарный файл будет работать на Ubuntu 18.04 без зависимостей. Для полноты картины:

# libc headers and object files. annoying that gcc is a dependency here.
apt install gcc libc6-dev
# x11 headers
apt install libx11-dev libxext-dev
# opengl headers
apt install libgl1-mesa-dev
# alsa headers and symlink library
apt install libasound2-dev
0
ответ дан 2 May 2019 в 03:43

Другие вопросы по тегам:

Похожие вопросы: