Você precisa dos arquivos de cabeçalho, fornecidos pelos -dev
pacotes, e não dos próprios pacotes da biblioteca. Então, tente instalar libx11-dev
. Isso deve corrigir esse erro de compilação específico, embora você possa receber erros semelhantes sobre outras bibliotecas (e depois instalar os -dev
pacotes).
Embora esses pacotes forneçam arquivos de cabeçalho em vez de binários e, em geral, os arquivos de cabeçalho sejam responsáveis por todas as arquiteturas suportadas pelo uso de macros de pré-processador, os -dev
pacotes no Ubuntu tendem a ser específicos da arquitetura, e é o caso libx11-dev
(como pode ser visto aqui expandindo um release e localizando os .deb
pacotes listados libx11-dev
nesse release). Como seu sistema Ubuntu é de 64 bits e você está compilando um programa de 32 bits que deve ser vinculado à versão de 32 bits da biblioteca, você provavelmente precisará instalar a versão de 32 bits libx11-dev
. Se você estiver instalando com apt-get
ou aptitude
, poderá especificar isso indicando libx11-dev:i386
como o pacote a instalar (uma vez que o multarch é suportado e está sendo usado).
http://packages.ubuntu.com/ é um bom recurso para encontrar o nome do -dev
pacote correspondente a um pacote de biblioteca. Nem sempre é o nome do pacote da biblioteca imediatamente seguido por -dev
; Às vezes, os números de versão presentes no nome do pacote da biblioteca, especialmente após a -
, estão ausentes no nome do -dev
pacote correspondente .
ldconfig -p | grep libX11\\.
?