我有一个神秘的问题!在main.c中,我有以下内容:
#include "jogo.h"
int main(){
int i;
sef_startup();
vg_init(0x105);
batalha_naval();
sleep(5);
vg_exit();
return 0;
}
在jogo.h中我有:
#ifndef __JOGO_H
#define __JOGO_H
void batalha_naval(void);
#endif
在main.c中我有:
#include "core.h"
void batalha_naval(void) {
vg_draw_line(0, 0, 1023, 0, 12);
}
但是当执行make时,编译器会在main.c中给出一个undefined _batalha_naval();
。如果我在jogo.h中定义函数,则不会出现错误,但如果我这样做,则会出现错误。
我使用CC编译器
-
您的jogo.h显示正确。如果您希望在多个编译单元中使用函数"batalha_naval()",则需要它。
-
你应该#include "jogo.h"'在main.c中,而在jogo.c.
-
链接命令中必须包含main和jogo。
如何链接?您需要这样做:
<>之前$ cc -c main.c$ cc -c jogo.c$ cc main。o jogo.o之前或
<>之前$ cc main.c jogo.c