Olá Guilherme.
São duas as possibilidade que podem estar gerando esse erro.
Primeiro pode ser que o CodeBlocks não está compilando o mapa.c.
Exitem duas opções para resolver isso.
Primeira opção:
1 - No CodeBlocks ir na opção Project no menu superior.
2 - Ir na opção Properties que é a ultima.
3 - Agora vá na aba Build targets
4 - Nessa aba na parte inferior vai encontrar o nome do seus arquivos na caixa Build target files
5 - Finalmente selecione a opção All/ ? on.
Segunda opção:
Siga o tutorial desse outro curso de C e dessa maneira vai poder rodar o código direto do terminal e garantir que vai compilar os arquivos mapa.c e o fogefoge.c.
A segunda causa possível é que não foi feita a implementação dessas funções no arquivo mapa.c
void lemapa(MAPA* m) {
FILE* f;
f = fopen("mapa.txt", "r");
if(f == 0) {
printf("Erro na leitura do mapa");
exit(1);
}
fscanf(f, "%d %d", &(m->linhas), &(m->colunas));
alocamapa(m);
for(int i = 0; i < m->linhas; i++) {
fscanf(f, "%s", m->matriz[i]);
}
fclose(f);
}
void liberamapa(MAPA* m) {
for(int i = 0; i < m->linhas; i++) {
free(m->matriz[i]);
}
free(m->matriz);
}
void imprimemapa(MAPA* m) {
for(int i = 0; i < m->linhas; i++) {
printf("%s\n", m->matriz[i]);
}
}
Essa é a minha percepção, mas se essas soluções não forem o suficiente poderia mandar os seus códigos e o erro inteiro gerado e dessa maneira vou poder ajudar melhor.
Bons estudos.