Ошибка C: неопределенная ссылка на функцию, но она определена

Простая программа, но я все время получаю эту ошибку компилятора. Я использую MinGW для компилятора.

Вот заголовочный файл, point.h :

//type for a Cartesian point
typedef struct {
  double x;
  double y;
} Point;

Point create(double x, double y);
Point midpoint(Point p, Point q);

А вот point.c :

//This is the implementation of the point type
#include "point.h"

int main() {
  return 0;
}
Point create(double x, double y) {
  Point p;
  p.x = x;
  p.y = y;
  return p;
}

Point midpoint(Point p, Point q) {
  Point mid;
  mid.x = (p.x + q.x) / 2;
  mid.y = (p.y + q.y) / 2;
  return mid;
}

А вот где компилятор возникает проблема. Я продолжаю получать:

testpoint.c: undefined ссылка на 'create (double x, double y)'

Хотя это определено в point.c.

Это отдельный файл с именем testpoint.c :

#include "point.h"
#include <assert.h>
#include <stdio.h>
int main() {
  double x = 1;
  double y = 1;
  Point p = create(x, y);

  assert(p.x == 1);
  return 0;
}

Я не понимаю, в чем может быть проблема.

55
задан alk 17 March 2017 в 03:30
поделиться