当出现错误ld return 1退出状态时,如何编译程序

How can I compile a program while :Error ld returned 1 exit status is appearing

本文关键字:状态 编译程序 退出 错误 ld return      更新时间:2023-10-16

在创建C++项目时,我发现了一些与语法有关的错误,但也发现了一些其他文件,以下是我发现的错误:

C:\Users\user\Desktop\SUJET 1\EMPLOYE.o EMPLOYE.cpp:(.rdata$.reptr._ZN7EMPLOYE6valeurE[.reptr.._ZN7EMPLOYE6valeurE]+0x0(:对"EMPLOYE::valeur"的未定义引用。

C: \Program Files(x86(\Dev Cpp\MinGW64\x86_64-w64-mingw32\lib\libmingw32.a(lib64_libming32_a-crt0_C.o(在函数"main"中:

C: \crossdev\src\mingw-w64-v3-git\mingw-w 64-crt\crt\crt0_C.C对"WinMain"的未定义引用

C: \Users\user\Desktop\SUJET 1\collect2.exe[Error]ld返回1退出状态

C: \Users\user\Desktop\SUJET 1\Makefile.win目标"的配方;SUJET的失败

文件:

员工.cpp:

#include <iostream>
#include <string>
#include"EMPLOYE.h"
using namespace std;
EMPLOYE::EMPLOYE(){};
EMPLOYE::EMPLOYE(string n ,int m ,int i){
nom=n;
matricule=m;
indice=i;
int valeur = 10;
};
void EMPLOYE :: afficherEmploye(){
cout << "votre nom est"<<nom<<"votre matricule est" << matricule << "votre indice est" << indice << endl;   
};
int EMPLOYE :: salaire(){
return indice*valeur; //salaire
};

员工.h:

#ifndef EMPLOYE_h
#define EMPLOYE_h
#include <iostream>
#include <string>
using namespace std;
class EMPLOYE{
protected:
int indice;
string nom;
static int valeur ;
public:
int matricule;
EMPLOYE();
EMPLOYE(string , int, int);
void afficherEmploye();
virtual int salaire();
};
#endif 

您需要显式初始化静态变量。https://www.geeksforgeeks.org/static-keyword-cpp/

#include <iostream>
#include <string>
#include"doc.h"
using namespace std;
int EMPLOYE::valeur = 0;
EMPLOYE::EMPLOYE(){};
EMPLOYE::EMPLOYE(string n ,int m ,int i){
nom=n;
matricule=m;
indice=i;
valeur = 10;
};
void EMPLOYE :: afficherEmploye(){
cout<<"votre nom est"<<nom<<"votre matricule est"<<matricule<<"votre indice 
est"<<indice<<endl;
};
int EMPLOYE :: salaire(){
return indice*(EMPLOYE::valeur); //salaire
};
int main()
{
//do something
}

您正在编译一个没有入口点的程序,也就是主函数

int main(int argc, char** argv){ return 0; }

它是必需的,因为它将是程序的入口点,如果你正在构建一个库,你可能想更改编译器设置。当然,如果你想让事情发生,把其他东西放在main中,你可以放弃参数,如果你不使用它们