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.
Filed under: gcc | Leave a Comment
Tags: ar, biblioteca, binutils, gcc, genesis, megadrive, ranlib, sega
No Responses Yet to “Correção para o uso de bibliotecas estáticas”