“undefined reference to” dans G++ Cpp
Pouvez pas sembler obtenir les erreurs à éviter. Les erreurs sont ci-dessous. J'ai regardé sur google et ne peut toujours pas comprendre. Ce n'est pas comme je suis nouveau sur le Rpc, mais n'avez pas trompé avec elle dans un moment.
Bizarre, c'est qu'il a travaillé avec G++ sous Windows...
Erreurs:
- [ze@fed0r! ---**__*]$ g++ main.cpp
- /tmp/ccJL2ZHE.o: In function `main':
- main.cpp:(.texte+0x11): undefined reference to `Help::Help()'
- main.cpp:(.texte+0x1d): undefined reference to `Aide::sayName()'
- main.cpp:(.texte+0x2e): undefined reference to `Aide::~Help()'
- main.cpp:(.texte+0x46): undefined reference to `Aide::~Help()'
- collect2: ld a retourné 1 code de sortie
main.cpp
#include <iostream>
#include "Help.h"
using namespace std;
int main () {
Help h;
h.sayName();
//***
//***
//***
return 0;
}
De l'aide.h
#ifndef HELP_H
#define HELP_H
class Help {
public:
Help();
~Help();
void sayName();
protected:
private:
};
#endif //HELP_H
Help.cpp
#include <iostream>
#include "Help.h"
using namespace std;
Help::Help() { //Constructor
}
Help::~Help() { //Destructor
}
void Help::sayName() {
cout << " ***************" << endl;
cout << " ************************************" << endl;
cout << " ************" << endl;
cout << " *********************" << endl;
}
OriginalL'auteur Zeveso | 2011-08-08
Vous devez vous connecter pour publier un commentaire.
g++ main.cpp Help.cpp
Vous avez à dire au compilateur tous les fichiers que vous souhaitez compiler, et pas seulement le premier.
OriginalL'auteur john
Vous devez ajouter de l'aide.o pour votre g++ ligne:
En scindant en deux lignes, vous pouvez enregistrer le temps de compilation (dans le cas de projets de grande envergure), parce que vous pouvez compiler
help.cpp
seulement quand il a été changé.make
etMakefile
utilisé bien vous sauver beaucoup de maux de tête:OriginalL'auteur Jakub M.
J'ai eu le même problème avec mon Linux Lubuntu distro et il a été la création du problème pour mon constructeur, destructeur, il n'est pas de les reconnaître.
En fait, cela va désactiver si vous venez de compiler tous les trois fichiers ensemble. Donc, une fois que vous avez sauvegardé tous vos fichiers, il suffit de faire ceci:
./un.est le fichier exécutable pour le Linux,Désolé, mais je ne sais pas à propos de le Windows. Et votre programme devrait fonctionner sans problème.
OriginalL'auteur Sankalp Arora