Pessoal, estou tentando compilar meu programa, mas na função principal ele da erro,
undefined reference to lemapa'
undefined reference to
imprimemapa'
undefined reference to `liberamapa'
Alguém pode me ajudar?
Segue código abaixo
FogeFoge.C
#include <stdio.h> /* biblioteca printf*/
#include <stdlib.h> /*biblioteca do system*/
#include <conio.h> /* biblioteca getch e getche*/
#include <locale.h> /*biblioteca de caracteres especiais*/
#include "FogeFoge.h"
#include "mapa.h"
MAPA m;
int main (){//inicio do programa
setlocale(LC_ALL,""); // programa vai se adaptar ao idioma do sistema operacional assim é possivel usar caracter especial
char comando;
lemapa(&m);
do {
imprimemapa(&m);
scanf(" %c", &comando);
move(comando);
}while (!acabou());
liberamapa(&m);
system ("pause");
return 0;
}// final do programa
int acabou (){
return 0;
}
void move(char direcao){
int x;
int y;
int i, j;
for (i = 0; i < m.linhas ; i++){
for (j = 0 ; j < m.colunas ; j++){
if (m.matriz[i][j] == '@'){
x = i;
y = j;
break;
}
}
}
switch (direcao){
case 'a':
m.matriz[x][y-1] = '@'; // esqueda
break;
case 'w':
m.matriz[x -1][y] = '@'; // cima
break;
case 'd':
m.matriz[x][y + 1] = '@'; //direita
break;
case 's':
m.matriz[x+1] [y] = '@'; //baixo
break;
}
m.matriz[x][y] = '.';
}
MAPA.C
#include <stdio.h> /* biblioteca printf*/
#include <stdlib.h> /*biblioteca do system*/
#include <conio.h> /* biblioteca getch e getche*/
#include <locale.h> /*biblioteca de caracteres especiais*/
#include "mapa.h"
void lemapa (MAPA* m){
FILE *f;
int i;
f = fopen("mapa.txt", "r");
if (f == 0){
printf("Jogo não pode ser carregado\n");
exit(1);
}
fscanf(f, "%d %d", &(m->linhas), &(m->colunas));
alocamapa(m);
for (i=0 ; i < m->linhas ; i++){
fscanf(f, "%s", m->matriz[i]);
}
fclose(f);
}
void alocamapa(MAPA *m){
int i;
m->matriz = malloc(sizeof(char*) * m->linhas);
for(i = 0 ; i < m->colunas ; i++){
m->matriz[i] = malloc(sizeof(char) * (m->colunas + 1));
}
}
void liberamapa(MAPA* m){
int i;
for (i = 0 ; i < m->linhas ; i++){
free(m->matriz[i]);
}
free(m->matriz);
}
void imprimemapa(MAPA* m){
int i;
for (i =0 ; i < m->linhas ; i++){
printf("%s\n", m->matriz[i]);
}
}
MAPA.H
struct mapa{
char **matriz;
int linhas;
int colunas;
};
typedef struct mapa MAPA;
void alocamapa(MAPA *m);
void lemapa(MAPA *m);
void liberamapa(MAPA *m);
void imprimemapa(MAPA *m);
FOGEFOGE.H
int acabou();
void move (char direcao);
Ja tentei praticamente de tudo, mas não consigo encontrar o erro.