I have a program that is divided into its main
, city.c
and city.h
.
Main:
#include "city.h"
int main()
{
FILE *entrada;
FILE *saida;
Cidade *cidades;
entrada = fopen("entrada.c", "r");
int numeroCidades = LeNumeroDeCidades(entrada);
LeCidades(entrada, &cidades, numeroCidades);
fclose(entrada);
saida = fopen("saida.c", "w");
Possibilidades(saida, numeroCidades);
int sequencia[numeroCidades];
int totalViagens = TotalViagens(numeroCidades);
MenorRota(saida, cidades, sequencia, numeroCidades, totalViagens);
fclose(saida);
return 0;
}
City.c:
#include "city.h"
(Todas as funções e seus corpos)...
City.h:
#ifndef CITY_H_INCLUDED
#define CITY_H_INCLUDED
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define INFINITO 9999999
/*----STRUCT----*/
typedef struct
{
int x;
int y;
} Cidade;
/*---------FUNÇÕES---------*/
void CriaCidade(Cidade *, int , int);
int LeNumeroDeCidades(FILE *);
void LeCidades(FILE *, Cidade **, int);
float Distancia(Cidade *, int, int *);
int TotalViagens(int);
void Troca(int *, int *);
void GeraRotaseDistancias(FILE *, Cidade *, int *, int, int, int, float *, float *);
void CriaSequencia(int, int *);
void MenorRota(FILE *, Cidade *, int *, int, int);
void Possibilidades(FILE *, int);
#endif // CITY_H_INCLUDED
When compiling, I get the same problem for all functions:
||=== Build: Debug in city (compiler: GNU GCC Compiler) ===|
obj\Debug\main.o||In function 'main':|
C:\Users\windows\city\main.c|13|undefined reference to 'LeNumeroDeCidades'|
C:\Users\windows\city\main.c|14|undefined reference to 'LeCidades'|
C:\Users\windows\city\main.c|19|undefined reference to 'Possibilidades'|
C:\Users\windows\city\main.c|21|undefined reference to 'TotalViagens'|
C:\Users\windows\city\main.c|22|undefined reference to 'MenorRota'|
||error: ld returned 1 exit status|
||=== Build failed: 6 error(s), 0 warning(s) (0 minute(s), 3 second(s)) ===|
I'd like to know what's causing this problem.