C 代码块中出错:错误ld 1返回退出状态

C 代码块中出错:错误ld 1返回退出状态,c,module,codeblocks,C,Module,Codeblocks,我基本上是一个刚开始编写模块的程序员,这个错误经常出现,我不知道如何解决它 IDE是代码::Blocks 17.12 错误是: ||==构建:在biblioteca中调试(编译器:GNU GCC编译器)===| ||错误:ld返回了1个退出状态| ||==生成失败:1个错误,0个警告(0分钟,0秒))===| 代码如下: main.c #include <stdio.h> #include <stdlib.h> #include <stdbool.h> #in

我基本上是一个刚开始编写模块的程序员,这个错误经常出现,我不知道如何解决它

IDE是代码::Blocks 17.12

错误是:

||==构建:在biblioteca中调试(编译器:GNU GCC编译器)===|

||错误:ld返回了1个退出状态|

||==生成失败:1个错误,0个警告(0分钟,0秒))===|

代码如下:

main.c

#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include "funzioni.h"

int main()
{
bool uscito=false;
do{
menuscelte();
int option = getoption();

switch(option){
    case 0: printf("Uscita dal programma...");
            uscito=true;
            break;
    case 1: acquisiscidati();
            break;

    default: printf("Inserire un'opzione valida\n\n");

    break;

}
}while(!(uscito==true));
return 0;
}
dati.c

#include <stdio.h>
#include <stdlib.h>

void menuscelte(){
printf("Menu'\n");
printf("-------------------------\n");
printf("0 - Uscita dal programma\n");
printf("1 - Acquisizione di un libro");
printf("\n");
}

int getoption(){
int option;
printf("Inserire l'opzione desiderata: ");
scanf("%d", &option);
return option;
}

应该还有其他一些错误消息,可能提到“未定义的引用”。这是重要的信息。你引用的消息说“有什么失败了”,没有关于什么的信息。你似乎在
funzioni.c
上发布了与
main.c
@WeatherVane相同的代码。谢谢你,我注意到了,我编辑了它。对于Jonathan来说:它什么也没说,除了那个错误,我还认为这是一个奇怪的事实……我猜你会得到一个多定义错误,因为你在每个(基本上是每个源文件)中定义变量
nomefile
,其中
dati.h
包含在其中(直接或间接)。@Someprogrammerdude这就是问题所在,谢谢你,伙计,现在代码工作了,干杯:这里应该有一些其他的错误消息,可能提到“未定义的引用”。这是重要的信息。你引用的消息说“有什么失败了”,没有关于什么的信息。你似乎在
funzioni.c
上发布了与
main.c
@WeatherVane相同的代码。谢谢你,我注意到了,我编辑了它。对于Jonathan来说:它什么也没说,除了那个错误,我还认为这是一个奇怪的事实……我猜你会得到一个多定义错误,因为你在每个(基本上是每个源文件)中定义变量
nomefile
,其中
dati.h
包含在其中(直接或间接)。@Someprogrammerdude这就是问题所在,谢谢你,伙计,现在代码工作了,干杯:D
#ifndef FUNZIONI_H_INCLUDED
#define FUNZIONI_H_INCLUDED

#include "dati.h"

void acquisiscidati();
void aprifile(char* nome, char* tipo);
void chiudifile();

#endif // FUNZIONI_H_INCLUDED
#include <stdio.h>
#include <stdlib.h>

void menuscelte(){
printf("Menu'\n");
printf("-------------------------\n");
printf("0 - Uscita dal programma\n");
printf("1 - Acquisizione di un libro");
printf("\n");
}

int getoption(){
int option;
printf("Inserire l'opzione desiderata: ");
scanf("%d", &option);
return option;
}
#ifndef DATI_H_INCLUDED
#define DATI_H_INCLUDED

#define MAXAUTORE 15
#define MAXTITOLO 15
#define TRUE 1
#define FALSE 0


typedef struct{
int codice;
char autore[MAXAUTORE];
char titolo[MAXTITOLO];
int annopubb;
}ins_libro;


char* nomefile = "biblioteca.txt";

void menuscelte();
int getoption();


#endif // DATI_H_INCLUDED