Вам потрібні файли заголовків, які надаються -dev
пакетами, а не в самих пакунках бібліотеки. Отже, спробуйте встановити libx11-dev
. Це повинно виправити цю конкретну помилку збірки, хоча ви можете отримати подібні помилки щодо інших бібліотек (і тоді ви можете встановити їх -dev
пакети.)
Незважаючи на те, що ці пакети надають файли заголовків, а не двійкові файли, і загалом у файлах заголовків припадає на всі підтримувані архітектури за допомогою використання макросів препроцесора, тим не менш, -dev
пакети в Ubuntu мають тенденцію до архітектури, і це так libx11-dev
(як видно тут , розгорнувши реліз та знайдіть .deb
пакети, перелічені libx11-dev
у цьому випуску). Оскільки ваша система Ubuntu 64-розрядна, і ви компілюєте 32-бітну програму, яка повинна пов'язувати 32-бітну версію бібліотеки, можливо, вам доведеться встановити 32-бітну версію libx11-dev
. Якщо ви встановлюєте за допомогою apt-get
або aptitude
, ви можете вказати це, вказавши libx11-dev:i386
як пакет для встановлення (оскільки multarch підтримується та використовується).
http://packages.ubuntu.com/ - це хороший ресурс для пошуку імені -dev
пакета, що відповідає бібліотечному пакету. Не завжди ім'я бібліотечного пакета одразу після цього -dev
; іноді номери версій, присутні в назві пакету бібліотеки, особливо після a -
, відсутні у назві відповідного -dev
пакета.
ldconfig -p | grep libX11\\.
?