Em um post anterior, cometi um equívoco de ignorar a ordem de passagem dos parâmetros de ligação a uma biblioteca estática.

Ao menos no caso do m68k e no x86_64 (amd64), a biblioteca deve vir depois de quem a precisa. Caso contrário, os símbolos contidos serão descartados, pensando-se ser inúteis.

Portanto, em vez de:
$ gcc -L. -lengine main.o -o programa

O correto é:
$ gcc -L. main.o -lengine -o programa

Ou, usando o ld:
ld -static principal.elf -L. -lengine -o jogo.elf

A posição do argumento -L não tem importância.

O post foi corrigido.



No Responses Yet to “Correção para o uso de bibliotecas estáticas”  

  1. No Comments Yet

Leave a Reply