Se você tem um programa print.c
que imprime um texto:
/* print.c */
#include <stdio.h>
#include "print.h"
int main(void) {
puts(TEXT);
return 0;
}
e um arquivo de cabeçalho que define esse texto:
/* print.h */
#define TEXT "Hello World!"
Então, você geralmente coloca esses arquivos na mesma pasta. Para dependências externas, isso depende. Muitas dependências externas não devem ser baixadas de um site, mas instaladas a partir dos repositórios do Ubuntu.
Por exemplo, os cabeçalhos OpenGL estão disponíveis em libgl1-mesa-dev (que instala mesa-common-dev
).
Isso disponibiliza os cabeçalhos em /usr/include/GL/gl.h
.
Em outros casos em que o arquivo de cabeçalho não está localizado no mesmo diretório, especifique os diferentes diretórios de inclusão durante a compilação. Exemplo onde você tem um diretório external-deps
contendo arquivos de cabeçalho:
cc -I external-deps source.c -o output-program
Se houver bibliotecas envolvidas (exemplo para um programa OpenGL usando libGL):
cc -I external-deps source.c -o output-program -L path/to/libraries -lGL