E aê galera estou fazendo um programa em C que usa uma biblioteca dinâmica (LAME codec pra mp3), só que eu queria gerar o executável que utiliza-se a biblioteca (libmp3lame.so) de seu diretório, algo assim:
.../executavel
.../src/executavel.c
.../lib/lame.h
.../lib/libmp3lame.so
Objetivo: Eu quero poder rodar o programa sem precisar instalar o LAME no sistema
Eu já fiz um programa pra testar o codec, está funcionando(
)... só que eu tive que instalar o LAME, ou seja, pra compilar/executar ele utiliza o "/usr/include/lame.h" e o "/usr/lib/libmp3lame.so.0".
O comando pra
linkar ficou:
gcc -o"testelame" ./testelame.o -lmp3lameEu tentei usar o parâmetro
-L mostrando o caminho pra "libmp3lame.so". Em uma VM sem instalar o LAME, funcionou pra compilar mas na hora de executar diz que não encontra a biblioteca
Então como faço pra rodar meu programa usando a biblioteca no diretório do executável e não instalada no sistema???
Curiosidade: não tenho muito conhecimento em Linux e (muito menos)³ em C
... literalmente tive dor de cabeça pra compilar até descobrir que precisava usar "-lmp3lame" foi aí que percebi que precisava entender o processo de compilação e peço: caso alguém tenha uma manual (preferencialmente em PT) de como usar o GCC
com exemplos me passa-se o link!