How i have to configure VS Code to don't get a “undefined reference” error message?
See original GitHub issueMy work environment :
EDI: Visual Studio Code
C ++ Compiler: GCC
Extensions:
Microsoft C / C ++
.run Code Runner
My source code :
main.cpp
#include <iostream>
#include "personne.h"
int main() {
personne jojo("fabien");
std::cout <<"la personne s'appelle "<<jojo.get_nom()<<" et a "
<<jojo.get_age()<<" ans "<<std::endl;
personne titi("lena",3);
std::cout <<"la personne s'appelle "<<titi.get_nom()<<" et a "
<<titi.get_age()<<" ans "<<std::endl;
}
personne.cpp
#include "personne.h"
std::string personne::get_nom() {
return nom;
}
int personne::get_age() {
return age;
}
personne::personne(std::string n){
nom=n;
age=0;
}
personne::personne(std::string n, int a) {
nom=n;
age=a;
}
personne.h
#ifndef __PERSONNE__
#define __PERSONNE__
#include <string>
class personne {
std::string nom;
int age;enter code here
public :
std::string get_nom();
int get_age();
personne(std::string);
personne(std::string, int);
};
#endif // __PERSONNE__
Errors messages :
Windows PowerShell Copyright © Microsoft Corporation. Tous droits réservés.
PS T:\VSCC++\LEssentiel> cd "t:\VSCC++\LEssentiel\chapitre 2 la programmation orientee objets\la_zim" ; if ($?) { g++ main.cpp -o main } ; if ($?) { .\main } C:\Users\Pierre\AppData\Local\Temp\ccKhfKRw.o:main.cpp:(.text+0x4e): undefined reference to
personne::personne(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)' C:\Users\Pierre\AppData\Local\Temp\ccKhfKRw.o:main.cpp:(.text+0x72): undefined reference topersonne::get_age()’ C:\Users\Pierre\AppData\Local\Temp\ccKhfKRw.o:main.cpp:(.text+0x87): undefined reference topersonne::get_nom[abi:cxx11]()' C:\Users\Pierre\AppData\Local\Temp\ccKhfKRw.o:main.cpp:(.text+0x137): undefined reference topersonne::personne(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int)’ C:\Users\Pierre\AppData\Local\Temp\ccKhfKRw.o:main.cpp:(.text+0x15b): undefined reference topersonne::get_age()' C:\Users\Pierre\AppData\Local\Temp\ccKhfKRw.o:main.cpp:(.text+0x170): undefined reference topersonne::get_nomabi:cxx11’ collect2.exe: error: ld returned 1 exit status PS T:\VSCC++\LEssentiel\chapitre 2 la programmation orientee objets\la_zim>
Issue Analytics
- State:
- Created 5 years ago
- Comments:8 (1 by maintainers)

Top Related StackOverflow Question
Hello @Pierre8r ,
The errors are due to
personne.cppnot being compiled and linked withmain.cpp. As far as I can tell, your current run command only compilesmain.cpp.main.cppincludes thepersonne.hfile but during linkingg++can’t find the definitions of the class functions because they are inpersonne.cpp.To fix this change your run command for
cppincode-runner.executorMapto:This command will compile and link all your
.cppfiles in the directory, and then run the compiled program.If the above command doesn’t work, then also attach your
settings.jsonfile in your comment so that I can better figure out what’s going wrong.Thanks @babu-thomas ! Closing this now. @Pierre8r , Feel free to reopen or create new issue if you have question.