Qual é o procedimento geral para instalar bibliotecas de desenvolvimento no Ubuntu?

24

Estou com dificuldades para instalar as últimas bibliotecas de desenvolvimento de SDL no meu Ubuntu 12.04. No ano passado, consegui instalar o libsdl 1.2-dev no Ubuntu. Tanto quanto me lembro, fiz isso usando o Synaptic Package Manager . Agora, quero trabalhar com as bibliotecas SDL mais recentes. Na página que contém downloads para SDL versão 2.0.0 (que é a versão estável mais recente), na seção Linux para Bibliotecas de Desenvolvimento , é fornecido

Entre em contato com o mantenedor da distribuição para obter atualizações.

Ajudaria muito se alguém respondesse a estas perguntas:

  1. Por que não é tão simples instalar bibliotecas de desenvolvimento no Ubuntu?
  2. Alguém pode fornecer uma lista exaustiva das maneiras de instalar essas bibliotecas no sistema para que você possa usá-las para programação?
  3. Seria útil se você pudesse dar a resposta acima, usando as bibliotecas de desenvolvimento SDL mais recentes como exemplo. Além disso, qual é o procedimento para limpar todas as versões anteriores do sistema enquanto instala as versões mais recentes?

PS: Procurei o pacote libsdl-dev no Synaptic Package Manager, mas ele não está aparecendo a versão mais recente.

jsp99
fonte
Os sistemas baseados no Debian (incluindo o Ubuntu) podem simplesmente "sudo apt-get install libsdl2-2.0" para instalar a biblioteca em todo o sistema e também todo tipo de outras dependências úteis. O "sudo apt-get install libsdl2-dev" instalará tudo o que for necessário para criar programas que usam SDL ( wiki.libsdl.org/Installation )
Dr.jacky

Respostas:

23

Você precisa baixar o código-fonte e compilar as bibliotecas.

Você também precisa de algumas dependências antes de compilar o SDL2. Portanto, instale estes pacotes primeiro :

sudo apt-get install build-essential xorg-dev libudev-dev libts-dev libgl1-mesa-dev \
libglu1-mesa-dev libasound2-dev libpulse-dev libopenal-dev libogg-dev \
libvorbis-dev libaudiofile-dev libpng12-dev libfreetype6-dev libusb-dev \
libdbus-1-dev zlib1g-dev libdirectfb-dev
  • Método 1: Arquivo de código-fonte
    Agora você pode acessar a página de download da libsdl e fazer o download SDL2-2.0.0.tar.gz, extrair o arquivo (você pode extrair o arquivo usando tar :)tar -xvzf SDL2-2.0.0.tar.gz , cdno diretório criado e executar os seguintes comandos ( não se esqueça de instalar o dependências mencionadas acima, antes de começar a compilar ):

    ./configure
    make
    sudo make install
    
  • Método 2: Repositório do Mercurial
    Outra maneira de instalar o SDL2 é fazer o download do SDL do repositório do Mercurial online. Para fazer isso, você deve instalar o mercurial primeiro:

    sudo apt-get install mercurial
    

    depois baixe o SDL (o SDL será baixado no diretório em que você está usando o terminal)

    hg clone http://hg.libsdl.org/SDL
    

    agora entre no diretório SDL baixado e construa e instale ( não esqueça de instalar as dependências mencionadas acima, antes de começar a compilar ) as bibliotecas executando:

    cd SDL
    ./configure
    make
    sudo make install
    

Não se esqueça de executar:

sudo ldconfig

para atualizar os links e o cache necessários para as bibliotecas.

Code :: Blocks
Adicionar ao
projeto> Opções de compilação> Configurações do compilador> Outras opções> -lSDL2

e para
Projeto> Opções de construção> Configurações do vinculador> Outras opções do vinculador -lSDL2

Lembre-se de adicioná-los às opções do projeto e não apenas às configurações de depuração ou versão . Além disso, se você já compilou incorretamente as fontes, lembre-se de reconstruí-lo ( CTRL+ F11)

PeppeDAlterio
fonte
Primeiro de tudo, obrigado pela ótima resposta! Todos os comandos funcionam tão bem juntos. Uso codeblocks e não está detectando as bibliotecas. Quais são as alterações que preciso fazer no meu ambiente Codeblocks para poder usar essas bibliotecas?
Jsp99
Novo projeto-> Projeto SDL
PeppeDAlterio
1
Você pode compilá-lo usando o gcc adicionando -lSDL2 ao gcc. Por exemplo: gcc source.c -lSDL2. Não sei como fazer isso com blocos de código, mas estou baixando blocos de código e tentarei informá-lo.
PeppeDAlterio
1
Btw, é SDL2 / SDL.h NÃO SDL / SDL.h
PeppeDAlterio
1
De qualquer forma você pode verificar o Ubuntu Wiki para toneladas de guias úteis: help.ubuntu.com/community e também este lin para guias gerais do Linux: help.ubuntu.com/community/ExternalGuides
PeppeDAlterio
10

Você também pode fazer:

Se você quer apenas as bibliotecas:

sudo apt-get install libsdl2-2.0

Se você deseja fazer desenvolvimento:

sudo apt-get install libsdl2-dev
RandomUser762
fonte