Configurar parâmetros de compilação no CodeBlocks

Iniciado por mhkgalvez, 31 de Janeiro de 2010, 21:19

tópico anterior - próximo tópico

mhkgalvez

Olá pessoal.

Estou aprendendo a usar a biblioteca SDL para criação de jogos e no tutorial que usei tinha um código de terminal para compilar usando GCC. Não funcionou.

Para driblar isso, sempre procuro ferramentas gráficas que compilem tudo já sem precisar me dar trabalho, só que as vezes surgem necessidades que nos fazem ter que adicionar mais parâmetros ao código da compilação.

Estou usando o Code Blocks para compilar códigos usando a biblioteca SDL. O problema é que tem uma nova biblioteca que descobri, a SDL_ttf, que apresenta textos na tela (a SDL não o faz) e para usá-la teria que adicionar mais um parâmetro na compilação. Como tudo no Code Blocks se faz automaticamente, fico sem poder usar a biblioteca SDL_ttf.

Minha pergunta é:

Há como adicionar parâmetros ao código de compilação pelo code blocks?
"A quem vencer, eu o farei coluna no templo do meu Deus, e dele nunca sairá; e escreverei sobre ele o nome do meu Deus, e o nome da cidade do meu Deus, a nova Jerusalém, que desce do céu, do meu Deus, e também o meu novo nome."

Darcamo

Por linha de comando você precisa passar 3 opções quando quer usar uma biblioteca externa.
Uma é para indicar ao compilador onde estão os arquivos .h da bilioteca
-I<path para a pasta com os arquivos .h da biblioteca>
Outra é para indicar ao linkador a pasta onde a biblioteca está (a pasta com a biblioteca compilada - geralmente arquivos ".a" ou ".so")
-L<path para a pasta>
E por fim uma para indicar ao linkador com quais bibliotecas linkar
-l<nome da biblioteca - sem incluir "lib" na frente e a extensão>

Por exemplo, quando quero linkar meus programas com a biblioteca itpp eu poderia compilar com o comando
g++ meuarquivo.c -I/usr/include -L/usr/lib -litpp
Só que como os diretórios "/usr/include" e "/usr/lib" são diretórios padrões então o g++ já procura lá e basta eu fazer
g++ meuarquivo.c -litpp


Tá legal, mas e na interface gráfica? Quando você usa uma IDE normalmente você precisa criar um projeto. Essas informações ficam nas configurações do projeto. Não uso o codeblocks, mas procura por alguma opção nas configurações do projeto com nome semelhante a "opções para o compilador" ou "cpp flags" e inclui o "-I<path para a pasta com os arquivos .h da biblioteca>". Se quando você tentar compilar seu programa tiver erros de arquivo .h não encontrado então o problema está nessa parte.

Feito isso, procura nas opções do projeto por alguma coisa chamada "opções para o linker/linkador" ou "ldd flags" e inclui as outras duas coisas "-L<path para a pasta>" e "-l<nome da biblioteca - sem incluir "lib" na frente e a extensão>". Se quando você compilar seu programa ele compilar e só depois reclamar com erros de "undefined reference blablabla" o erro é nessa parte.