繁体   English   中英

出现错误 ld 返回 1 退出状态时如何编译程序

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

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

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

C:\Program Files (x86)\Dev-Cpp\MinGW64\x86_64-w64-mingw32\lib\libmingw32.a(lib64_libmingw32_a-crt0_c.o) 在 ZC1C425268E68385D14AB5074'C17A

C:\crossdev\src\mingw-w64-v3-git\mingw-w64-crt\crt\crt0_c.c 未定义对“WinMain”的引用

C:\Users\user\Desktop\SUJET 1\collect2.exe [错误] 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 

您需要显式初始化 static 变量。 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
}

你正在编译一个没有入口点的程序,也就是一个主 function

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM