主要没有在input.h中看到我的功能

时间:2012-09-30 04:32:05

标签: c header-files

input.c档案:

#include "input.h"
void file_processing( FILE *course_file, FILE *student_file )
{
    char buf[256], line[256];
    ........
}

input.h档案:

#ifndef STUDENT_H
#define STUDENT_H

#include <string.h>

void process_command( char command[256] );

void file_processing( FILE *course_file, FILE *student_file );

#endif

main.c档案:

#include "input.h"

int main( int argc, char *argv[] ){
    .........
    file_processing(course_file, student_file);
    ...
    return 0;
}

编译器给我这个错误:

main.c: In function ‘int main(int, char**)’:
main.c:53:46: error: ‘file_processing’ was not declared in this scope

任何人都可以给我一些关于要看什么的提示?

更新 经过一些额外的编码,我得到了一个不同的错误。

/tmp/ccJ4nsnm.o: In function `main':
main.c:(.text+0x1e5): undefined reference to `file_processing(_IO_FILE*, _IO_FILE*)'
collect2: ld returned 1 exit status

1 个答案:

答案 0 :(得分:4)

我觉得有趣的是,您的多重包含保护与您的文件名不匹配:

#ifndef STUDENT_H
#define STUDENT_H

你是否从另一个.h文件中获得了这个文件?