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