我无法编译程序。该程序的标题是
#include <stdio.h>
#include <stlib.h>
#include "useCurses.h"
#include "robotModel.h"
#include "maze.h"
我尝试使用
进行编译gcc -I / path / to / folder program.c -o program.exe -lncurses
并收到以下错误消息:
对(函数)的未定义引用
对于program.c中调用的每个函数,它包含在robotModel.h或maze.h中。 文件maze.h和robotModel.h都包含在文件maze.c和robotModel.c中定义的函数的原型,所有这些函数都与program.c位于同一文件夹中。我忘了在这做什么?
编辑: robotModel.h:
#ifndef ROBOTMODEL_H
#define ROBOTMODEL_H
(function prototypes)
#endif
robotModel.c:
#include "robotModel.h"
(function definitions, no main())
maze.h:
#ifndef MAZE_H
#define MAZE_H
#include "robotModel.h"
(function prototypes)
#endif
maze.c:
#include "maze.h"
#include <stdio.h>
#include <stdlib.h>
(function definitions, no main())
当在main()或program.c中的另一个函数中调用maze.h或robotmodel.h中定义的函数时,编译器错误指向每个实例。
编辑2:我使用
让它工作gcc program.c maze.c robotModel.c -o program.exe -lncurses
答案 0 :(得分:0)
您还应该编译maze.c
,robotModel.c
源文件。 - 马赫什