Ir ao conteúdo

Posts recomendados

Postado

Olá a todos. Primeiramente, não sei se este é o local certo para essa dúvida. Desculpem qualquer coisa.

Estou tendo dificuldades para compilar codigos-fonte que necessitam da biblioteca Allegro. Provavelmente isso se deve a falta de experiência com sistemas Linux (uso Debian a 6 meses). Já foi um parto para mim conseguir instalar a API, mas agora o problema é saber referenciar os arquivos cabeçalho. Até agora, eu só estive compilando a partir do comando "gcc arquivo.c -o arquivo". Porém, ao que me parece, o comando para compilar referenciando a allegro é outra, pois o compilador reclama dizendo que não encontrou a referência das funções. Semelhante a quando você usa "math.h" sem o parâmetro "-lm" na linha de comando. Alguém sabe como resolve isso? Já olhei a documentação, tanto da Allegro quanto do GCC, mas até agora nada.

Postado

@KXSY

Eu já havia tentando isso também, mas sem sucesso. Continua dando "referência não definida". Aliás, eu nem ao menos sei se consegui instalar direito, eu não entendo muito de compilar codigo-fonte. Apenas sigo o passo-a-passo da documentação, mas ainda assim tem chance de dar errado, sabe-se lá por que. Embora eu também tenha instalado pelo terminal através de um "apt-get install liballego5-dev". De qualquer forma, já decidi que vou iniciar o meu projeto no Windows mesmo, é um pouco mais fácil, ao menos por enquanto.
 

 

5 horas atrás, KXSY disse:

Recomendo o livro "como o linux funciona"

Estava olhando o livro aqui, é exatamente o que eu estava procurando. Não encontrei um bibliografia muito boa de Linux. Lerei sim, com certeza, obrigado.

Postado

@KXSY

Certo, acho que o problema está praticamente resolvido. As dependências eu já tinha instalado, pois o tutorial que usei de instalação do allegro pelo pacote "liballegro5-dev", já considerava elas. Então fui atrás de outros códigos para testar, e usando a diretiva que você passou, "-lallegro", consegui compilar alguns códigos. Ao meu ver, o problema estava na linkagem mesmo, pois eu não estava sabendo fazer referência às bibliotecas. Por exemplo, eu estava tentando compilar um source exemplo do allegro chamado "ex_blend_target.c", fazendo referencia a todos os headers com -l e ainda dava problema. Mas esse caso é exceção, o resto compilou e executou corretamente.
1775263462_Capturadetelade2019-12-0118-51-59.thumb.png.3a965f53d7ece04cf52369f38937a0b3.png

 

Você não sabe como me ajudou. Acho que eu fiquei mais de um dia inteiro nisso já, fui atrás até da documentação do gcc e acabei lendo sobre a opção -l, mas não entendi como era pra usar. Na verdade, o que eu estava tentando fazer era dar -L ou -I (i maiúsculo) seguido do endereço dos headers do allegro, mas dava no mesmo. O problema foi a minha burrice com o Linux mesmo, eu já imaginava que o problema era simples. O melhor é que eu não vou ter que voltar pro Windows.

Enfim, tem mais alguma dica pra um iniciante Linux como eu? O livro que você indicou eu já vou devorar nestas férias. Ainda mais agora que quero começar a usar Manjaro, espero não ter este mesmo problema novamente. Muito obrigado, ajudou muito.

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!