Você precisa dos arquivos de cabeçalho, que são fornecidos por -dev
packages e não nos próprios pacotes da biblioteca. Então, tente instalar libx11-dev
. Isso deve corrigir esse erro de compilação específico, embora você possa obter erros semelhantes sobre outras bibliotecas (e, em seguida, instalar os pacotes -dev
).
Embora esses pacotes forneçam arquivos de cabeçalho em vez de binários, e em geral os arquivos de cabeçalho são responsáveis por todas as arquiteturas suportadas através do uso de macros de pré-processador, no entanto, -dev
packages no Ubuntu tendem a ser específicos da arquitetura, e este é o caso para libx11-dev
(como pode ser visto aqui expandindo uma versão e encontrando os pacotes .deb
listados para libx11-dev
nessa versão). Como o 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, provavelmente será necessário instalar a versão de 32 bits do libx11-dev
. Se você estiver instalando com apt-get
ou aptitude
, poderá especificar isso indicando libx11-dev:i386
como o pacote a ser instalado (desde O multarch é suportado e está sendo usado).
link é um bom recurso para encontrar o nome do pacote -dev
correspondente a um pacote de biblioteca. Nem sempre o nome do pacote da biblioteca é seguido imediatamente por -dev
; às vezes os números de versão presentes no nome do pacote da biblioteca, especialmente após um -
, estão ausentes no nome do pacote -dev
correspondente.