【发布时间】:2014-03-25 22:44:41
【问题描述】:
我无法编译程序。该程序的标题是
#include <stdio.h>
#include <stlib.h>
#include "useCurses.h"
#include "robotModel.h"
#include "maze.h"
我试过用
编译gcc -I/path/to/文件夹 program.c -o program.exe -lncurses
并得到以下错误信息:
对(函数)的未定义引用
对于 program.c 中调用的每个函数,该函数包含在 robotModel.h 或 maze.h 中。 文件maze.h 和robotModel.h 都包含在文件maze.c 和robotModel.c 中定义的函数原型,所有这些都与program.c 位于同一文件夹中。我忘了在这里做什么?
编辑: 机器人模型.h:
#ifndef ROBOTMODEL_H
#define ROBOTMODEL_H
(function prototypes)
#endif
robotModel.c:
#include "robotModel.h"
(function definitions, no main())
迷宫.h:
#ifndef MAZE_H
#define MAZE_H
#include "robotModel.h"
(function prototypes)
#endif
迷宫.c:
#include "maze.h"
#include <stdio.h>
#include <stdlib.h>
(function definitions, no main())
当 maze.h 或 robotmodel.h 中定义的函数在 main() 或 program.c 中的另一个函数中调用时,编译器错误指向每个实例。
编辑 2:我使用
让它工作gcc program.c maze.c robotModel.c -o program.exe -lncurses
【问题讨论】:
-
你也应该编译
maze.c, robotModel.c源文件。 -
能否请您发布
useCurses.h、robotModel.h、maze.h,以及编译器错误指向的相关行?