我的工作环境:
EDI:Visual Studio 代码
C++ 编译器:GCC
扩展:
微软 C/C++
.run 代码运行器
我的源代码:
主文件
#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;
}
人物.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;
}
个人资料
#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__
错误消息:
Windows PowerShell 版权所有 © 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 to
personne: :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 to
personne::personne(std: :__cxx11::basic_string, std::allocator >, int)’ C:\Users\Pierre\AppData\Local\Temp\ccKhfKRw.o:main.cpp:(.text+0x15b): 对personne::get_age()' C:\Users\Pierre\AppData\Local\Temp\ccKhfKRw.o:main.cpp:(.text+0x170): undefined reference to
的未定义引用---
personne::get_nomabi:cxx11’ collect2.exe: error: ld returned 1 exit status PS T:\VSCC++\LEssentiel\chapitre 2 la programmation orientee objets\la_zim>原文由 Pierre8r 发布,翻译遵循 CC BY-SA 4.0 许可协议
您需要编辑由 VScode 生成的 task.json 。当您使用 main 函数运行简单 .cpp 文件的调试时,tasks.json 的默认配置就足够了,但是如果您尝试使用带有类的个人头文件,则需要向 tasks.json 指明哪个您程序需要编译的额外文件。
像这样:
在部分 args 中,我刚刚添加了我的额外文件 .cpp ( ej.“${fileDirname}/extrefile.cpp” ) 的完整路径。
保存 tasks.json 并再次使用 F5 从具有 main 功能的 cpp 文件运行调试。