只是一个简单的程序,但我不断收到此编译器错误。 我正在使用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:对'create(double x,double y)'的未定义引用
虽然它在point.c中定义。
这是一个单独的文件,称为testpoint.c:
#include "point.h"
#include
#include
int main() {
double x = 1;
double y = 1;
Point p = create(x, y);
assert(p.x == 1);
return 0;
}
我对这个问题可能不知所措。