undefined reference to std::basic_ostream<char @GLIBCXX_3.4.9

本文探讨了一个常见的编译错误:undefined reference to std::basic_ostream&lt;char@GLIBCXX_3.4.9&gt;。文章分析了该问题产生的原因,并提供了解决方案,包括检查链接器配置、确保正确链接标准库等步骤。

 undefined reference to std::basic_ostream<char @GLIBCXX_3.4.9

* 正在执行任务: C/C++: gcc.exe 生成活动文件 正在启动生成... cmd /c chcp 65001>nul && E:\VScode\mingw64\bin\gcc.exe -fdiagnostics-color=always -g D:\Code-CaoZuo\1.cpp -o D:\Code-CaoZuo\1.exe C:\Users\HUAWEI\AppData\Local\Temp\ccaKY5Jy.o: In function `priorityScheduling(PCB*)&#39;: D:/Code-CaoZuo/1.cpp:31: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/1.cpp:31: undefined reference to `std::ostream::operator<<(std::ostream& (*)(std::ostream&))&#39; D:/Code-CaoZuo/1.cpp:68: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/1.cpp:69: undefined reference to `std::ostream::operator<<(int)&#39; D:/Code-CaoZuo/1.cpp:69: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/1.cpp:69: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <char, std::char_traits<char>, std::allocator<char> >(std::basic_ostream<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)&#39; D:/Code-CaoZuo/1.cpp:69: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/1.cpp:69: undefined reference to `std::ostream::operator<<(int)&#39; D:/Code-CaoZuo/1.cpp:69: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/1.cpp:70: undefined reference to `std::ostream::operator<<(int)&#39; D:/Code-CaoZuo/1.cpp:70: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/1.cpp:70: undefined reference to `std::ostream::operator<<(int)&#39; D:/Code-CaoZuo/1.cpp:70: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/1.cpp:70: undefined reference to `std::ostream::operator<<(std::ostream& (*)(std::ostream&))&#39; D:/Code-CaoZuo/1.cpp:80: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/1.cpp:80: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <char, std::char_traits<char>, std::allocator<char> >(std::basic_ostream<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)&#39; D:/Code-CaoZuo/1.cpp:80: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/1.cpp:80: undefined reference to `std::ostream::operator<<(std::ostream& (*)(std::ostream&))&#39; D:/Code-CaoZuo/1.cpp:86: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/1.cpp:86: undefined reference to `std::ostream::operator<<(std::ostream& (*)(std::ostream&))&#39; C:\Users\HUAWEI\AppData\Local\Temp\ccaKY5Jy.o: In function `roundRobinScheduling(PCB*)&#39;: D:/Code-CaoZuo/1.cpp:91: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/1.cpp:91: undefined reference to `std::ostream::operator<<(std::ostream& (*)(std::ostream&))&#39; D:/Code-CaoZuo/1.cpp:130: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/1.cpp:131: undefined reference to `std::ostream::operator<<(int)&#39; D:/Code-CaoZuo/1.cpp:131: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/1.cpp:131: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <char, std::char_traits<char>, std::allocator<char> >(std::basic_ostream<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)&#39; D:/Code-CaoZuo/1.cpp:131: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/1.cpp:131: undefined reference to `std::ostream::operator<<(int)&#39; D:/Code-CaoZuo/1.cpp:131: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/1.cpp:132: undefined reference to `std::ostream::operator<<(int)&#39; D:/Code-CaoZuo/1.cpp:132: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/1.cpp:132: undefined reference to `std::ostream::operator<<(int)&#39; D:/Code-CaoZuo/1.cpp:132: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/1.cpp:132: undefined reference to `std::ostream::operator<<(std::ostream& (*)(std::ostream&))&#39; D:/Code-CaoZuo/1.cpp:146: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/1.cpp:146: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <char, std::char_traits<char>, std::allocator<char> >(std::basic_ostream<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)&#39; D:/Code-CaoZuo/1.cpp:146: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/1.cpp:146: undefined reference to `std::ostream::operator<<(std::ostream& (*)(std::ostream&))&#39; D:/Code-CaoZuo/1.cpp:164: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/1.cpp:164: undefined reference to `std::ostream::operator<<(std::ostream& (*)(std::ostream&))&#39; C:\Users\HUAWEI\AppData\Local\Temp\ccaKY5Jy.o: In function `createProcesses(int, bool)&#39;: D:/Code-CaoZuo/1.cpp:175: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()&#39; D:/Code-CaoZuo/1.cpp:178: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/1.cpp:178: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <char, std::char_traits<char>, std::allocator<char> >(std::basic_ostream<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)&#39; D:/Code-CaoZuo/1.cpp:178: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/1.cpp:178: undefined reference to `std::ostream::operator<<(std::ostream& (*)(std::ostream&))&#39; D:/Code-CaoZuo/1.cpp:180: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/1.cpp:181: undefined reference to `std::istream::operator>>(int&)&#39; D:/Code-CaoZuo/1.cpp:185: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/1.cpp:186: undefined reference to `std::istream::operator>>(int&)&#39; D:/Code-CaoZuo/1.cpp:188: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/1.cpp:189: undefined reference to `std::istream::operator>>(int&)&#39; D:/Code-CaoZuo/1.cpp:191: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)&#39; D:/Code-CaoZuo/1.cpp:191: undefined reference to `operator new(unsigned long long)&#39; D:/Code-CaoZuo/1.cpp:191: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()&#39; D:/Code-CaoZuo/1.cpp:200: undefined reference to `std::ostream::operator<<(std::ostream& (*)(std::ostream&))&#39; D:/Code-CaoZuo/1.cpp:175: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()&#39; D:/Code-CaoZuo/1.cpp:203: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()&#39; D:/Code-CaoZuo/1.cpp:191: undefined reference to `operator delete(void*, unsigned long long)&#39; D:/Code-CaoZuo/1.cpp:191: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()&#39; D:/Code-CaoZuo/1.cpp:175: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()&#39; C:\Users\HUAWEI\AppData\Local\Temp\ccaKY5Jy.o: In function `displayProcesses(PCB*)&#39;: D:/Code-CaoZuo/1.cpp:208: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/1.cpp:208: undefined reference to `std::ostream::operator<<(std::ostream& (*)(std::ostream&))&#39; D:/Code-CaoZuo/1.cpp:209: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/1.cpp:209: undefined reference to `std::ostream::operator<<(std::ostream& (*)(std::ostream&))&#39; D:/Code-CaoZuo/1.cpp:213: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <char, std::char_traits<char>, std::allocator<char> >(std::basic_ostream<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)&#39; D:/Code-CaoZuo/1.cpp:213: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/1.cpp:213: undefined reference to `std::ostream::operator<<(int)&#39; D:/Code-CaoZuo/1.cpp:213: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/1.cpp:213: undefined reference to `std::ostream::operator<<(int)&#39; D:/Code-CaoZuo/1.cpp:213: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/1.cpp:214: undefined reference to `std::ostream::operator<<(int)&#39; D:/Code-CaoZuo/1.cpp:214: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/1.cpp:214: undefined reference to `std::ostream::operator<<(int)&#39; D:/Code-CaoZuo/1.cpp:214: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/1.cpp:217: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/1.cpp:218: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/1.cpp:219: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/1.cpp:221: undefined reference to `std::ostream::operator<<(std::ostream& (*)(std::ostream&))&#39; C:\Users\HUAWEI\AppData\Local\Temp\ccaKY5Jy.o: In function `freeProcesses(PCB*)&#39;: D:/Code-CaoZuo/1.cpp:233: undefined reference to `operator delete(void*, unsigned long long)&#39; C:\Users\HUAWEI\AppData\Local\Temp\ccaKY5Jy.o: In function `main&#39;: D:/Code-CaoZuo/1.cpp:241: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/1.cpp:241: undefined reference to `std::ostream::operator<<(std::ostream& (*)(std::ostream&))&#39; D:/Code-CaoZuo/1.cpp:242: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/1.cpp:242: undefined reference to `std::ostream::operator<<(std::ostream& (*)(std::ostream&))&#39; D:/Code-CaoZuo/1.cpp:243: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/1.cpp:243: undefined reference to `std::ostream::operator<<(std::ostream& (*)(std::ostream&))&#39; D:/Code-CaoZuo/1.cpp:244: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/1.cpp:245: undefined reference to `std::istream::operator>>(int&)&#39; D:/Code-CaoZuo/1.cpp:247: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/1.cpp:248: undefined reference to `std::istream::operator>>(int&)&#39; D:/Code-CaoZuo/1.cpp:254: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/1.cpp:263: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/1.cpp:263: undefined reference to `std::ostream::operator<<(std::ostream& (*)(std::ostream&))&#39; D:/Code-CaoZuo/1.cpp:267: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; C:\Users\HUAWEI\AppData\Local\Temp\ccaKY5Jy.o: In function `__tcf_0&#39;: E:/VScode/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/iostream:74: undefined reference to `std::ios_base::Init::~Init()&#39; C:\Users\HUAWEI\AppData\Local\Temp\ccaKY5Jy.o: In function `__static_initialization_and_destruction_0&#39;: E:/VScode/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/iostream:74: undefined reference to `std::ios_base::Init::Init()&#39; C:\Users\HUAWEI\AppData\Local\Temp\ccaKY5Jy.o:1.cpp:(.xdata+0x34): undefined reference to `__gxx_personality_seh0&#39; C:\Users\HUAWEI\AppData\Local\Temp\ccaKY5Jy.o: In function `PCB::PCB(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, int, int)&#39;: D:/Code-CaoZuo/1.cpp:26: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)&#39; C:\Users\HUAWEI\AppData\Local\Temp\ccaKY5Jy.o: In function `PCB::~PCB()&#39;: D:/Code-CaoZuo/1.cpp:13: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()&#39; C:\Users\HUAWEI\AppData\Local\Temp\ccaKY5Jy.o: In function `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > __gnu_cxx::__to_xstring<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, char>(int (*)(char*, unsigned long long, char const*, char*), unsigned long long, char const*, ...)&#39;: E:/VScode/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/ext/string_conversions.h:115: undefined reference to `std::allocator<char>::allocator()&#39; E:/VScode/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/ext/string_conversions.h:115: undefined reference to `std::allocator<char>::~allocator()&#39; E:/VScode/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/ext/string_conversions.h:115: undefined reference to `std::allocator<char>::~allocator()&#39; C:\Users\HUAWEI\AppData\Local\Temp\ccaKY5Jy.o:1.cpp:(.xdata$_ZN9__gnu_cxx12__to_xstringINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEcEET_PFiPT0_yPKS8_PcEySB_z+0xc): undefined reference to `__gxx_personality_seh0&#39; C:\Users\HUAWEI\AppData\Local\Temp\ccaKY5Jy.o: In function `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider::~_Alloc_hider()&#39;: E:/VScode/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/basic_string.h:139: undefined reference to `std::allocator<char>::~allocator()&#39; C:\Users\HUAWEI\AppData\Local\Temp\ccaKY5Jy.o: In function `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > std::operator+<char, std::char_traits<char>, std::allocator<char> >(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)&#39;: E:/VScode/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/basic_string.h:5979: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::insert(unsigned long long, char const*)&#39; E:/VScode/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/basic_string.h:5979: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)&#39; C:\Users\HUAWEI\AppData\Local\Temp\ccaKY5Jy.o: In function `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string<char*, void>(char*, char*, std::allocator<char> const&)&#39;: E:/VScode/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/basic_string.h:606: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_local_data()&#39; E:/VScode/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/basic_string.h:606: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider::_Alloc_hider(char*, std::allocator<char> const&)&#39; C:\Users\HUAWEI\AppData\Local\Temp\ccaKY5Jy.o:1.cpp:(.xdata$_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1IPcvEET_S7_RKS3_+0xc): undefined reference to `__gxx_personality_seh0&#39; C:\Users\HUAWEI\AppData\Local\Temp\ccaKY5Jy.o: In function `void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char*>(char*, char*, std::forward_iterator_tag)&#39;: E:/VScode/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/basic_string.tcc:212: undefined reference to `std::__throw_logic_error(char const*)&#39; E:/VScode/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/basic_string.tcc:219: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_create(unsigned long long&, unsigned long long)&#39; E:/VScode/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/basic_string.tcc:219: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_data(char*)&#39; E:/VScode/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/basic_string.tcc:220: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_capacity(unsigned long long)&#39; E:/VScode/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/basic_string.tcc:225: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_data() const&#39; E:/VScode/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/basic_string.tcc:225: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_S_copy_chars(char*, char*, char*)&#39; E:/VScode/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/basic_string.tcc:232: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_set_length(unsigned long long)&#39; E:/VScode/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/basic_string.tcc:226: undefined reference to `__cxa_begin_catch&#39; E:/VScode/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/basic_string.tcc:228: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_dispose()&#39; E:/VScode/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/basic_string.tcc:229: undefined reference to `__cxa_rethrow&#39; E:/VScode/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/basic_string.tcc:226: undefined reference to `__cxa_end_catch&#39; C:\Users\HUAWEI\AppData\Local\Temp\ccaKY5Jy.o:1.cpp:(.xdata$_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPcEEvT_S7_St20forward_iterator_tag+0xc): undefined reference to `__gxx_personality_seh0&#39; C:\Users\HUAWEI\AppData\Local\Temp\ccaKY5Jy.o:1.cpp:(.rdata$.refptr._ZSt3cin[.refptr._ZSt3cin]+0x0): undefined reference to `std::cin&#39; C:\Users\HUAWEI\AppData\Local\Temp\ccaKY5Jy.o:1.cpp:(.rdata$.refptr._ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_[.refptr._ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_]+0x0): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&)&#39; C:\Users\HUAWEI\AppData\Local\Temp\ccaKY5Jy.o:1.cpp:(.rdata$.refptr._ZSt4cout[.refptr._ZSt4cout]+0x0): undefined reference to `std::cout&#39; collect2.exe: error: ld returned 1 exit status 生成已完成,但出现错误。 * 终端进程启动失败(退出代码: -1)。 * 终端将被任务重用,按任意键关闭。 * 正在执行任务: C/C++: gcc.exe 生成活动文件 正在启动生成... cmd /c chcp 65001>nul && E:\VScode\mingw64\bin\gcc.exe -fdiagnostics-color=always -g D:\Code-CaoZuo\11.cpp -o D:\Code-CaoZuo\11.exe C:\Users\HUAWEI\AppData\Local\Temp\cc45uoJX.o: In function `priorityScheduling(PCB*)&#39;: D:/Code-CaoZuo/11.cpp:31: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/11.cpp:31: undefined reference to `std::ostream::operator<<(std::ostream& (*)(std::ostream&))&#39; D:/Code-CaoZuo/11.cpp:68: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/11.cpp:69: undefined reference to `std::ostream::operator<<(int)&#39; D:/Code-CaoZuo/11.cpp:69: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/11.cpp:69: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <char, std::char_traits<char>, std::allocator<char> >(std::basic_ostream<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)&#39; D:/Code-CaoZuo/11.cpp:69: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/11.cpp:69: undefined reference to `std::ostream::operator<<(int)&#39; D:/Code-CaoZuo/11.cpp:69: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/11.cpp:70: undefined reference to `std::ostream::operator<<(int)&#39; D:/Code-CaoZuo/11.cpp:70: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/11.cpp:70: undefined reference to `std::ostream::operator<<(int)&#39; D:/Code-CaoZuo/11.cpp:70: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/11.cpp:70: undefined reference to `std::ostream::operator<<(std::ostream& (*)(std::ostream&))&#39; D:/Code-CaoZuo/11.cpp:80: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/11.cpp:80: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <char, std::char_traits<char>, std::allocator<char> >(std::basic_ostream<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)&#39; D:/Code-CaoZuo/11.cpp:80: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/11.cpp:80: undefined reference to `std::ostream::operator<<(std::ostream& (*)(std::ostream&))&#39; D:/Code-CaoZuo/11.cpp:86: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/11.cpp:86: undefined reference to `std::ostream::operator<<(std::ostream& (*)(std::ostream&))&#39; C:\Users\HUAWEI\AppData\Local\Temp\cc45uoJX.o: In function `roundRobinScheduling(PCB*)&#39;: D:/Code-CaoZuo/11.cpp:91: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/11.cpp:91: undefined reference to `std::ostream::operator<<(std::ostream& (*)(std::ostream&))&#39; D:/Code-CaoZuo/11.cpp:130: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/11.cpp:131: undefined reference to `std::ostream::operator<<(int)&#39; D:/Code-CaoZuo/11.cpp:131: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/11.cpp:131: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <char, std::char_traits<char>, std::allocator<char> >(std::basic_ostream<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)&#39; D:/Code-CaoZuo/11.cpp:131: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/11.cpp:131: undefined reference to `std::ostream::operator<<(int)&#39; D:/Code-CaoZuo/11.cpp:131: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/11.cpp:132: undefined reference to `std::ostream::operator<<(int)&#39; D:/Code-CaoZuo/11.cpp:132: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/11.cpp:132: undefined reference to `std::ostream::operator<<(int)&#39; D:/Code-CaoZuo/11.cpp:132: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/11.cpp:132: undefined reference to `std::ostream::operator<<(std::ostream& (*)(std::ostream&))&#39; D:/Code-CaoZuo/11.cpp:146: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/11.cpp:146: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <char, std::char_traits<char>, std::allocator<char> >(std::basic_ostream<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)&#39; D:/Code-CaoZuo/11.cpp:146: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/11.cpp:146: undefined reference to `std::ostream::operator<<(std::ostream& (*)(std::ostream&))&#39; D:/Code-CaoZuo/11.cpp:164: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/11.cpp:164: undefined reference to `std::ostream::operator<<(std::ostream& (*)(std::ostream&))&#39; C:\Users\HUAWEI\AppData\Local\Temp\cc45uoJX.o: In function `createProcesses(int, bool)&#39;: D:/Code-CaoZuo/11.cpp:175: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()&#39; D:/Code-CaoZuo/11.cpp:178: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/11.cpp:178: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <char, std::char_traits<char>, std::allocator<char> >(std::basic_ostream<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)&#39; D:/Code-CaoZuo/11.cpp:178: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/11.cpp:178: undefined reference to `std::ostream::operator<<(std::ostream& (*)(std::ostream&))&#39; D:/Code-CaoZuo/11.cpp:180: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/11.cpp:181: undefined reference to `std::istream::operator>>(int&)&#39; D:/Code-CaoZuo/11.cpp:185: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/11.cpp:186: undefined reference to `std::istream::operator>>(int&)&#39; D:/Code-CaoZuo/11.cpp:188: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/11.cpp:189: undefined reference to `std::istream::operator>>(int&)&#39; D:/Code-CaoZuo/11.cpp:191: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)&#39; D:/Code-CaoZuo/11.cpp:191: undefined reference to `operator new(unsigned long long)&#39; D:/Code-CaoZuo/11.cpp:191: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()&#39; D:/Code-CaoZuo/11.cpp:200: undefined reference to `std::ostream::operator<<(std::ostream& (*)(std::ostream&))&#39; D:/Code-CaoZuo/11.cpp:175: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()&#39; D:/Code-CaoZuo/11.cpp:203: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()&#39; D:/Code-CaoZuo/11.cpp:191: undefined reference to `operator delete(void*, unsigned long long)&#39; D:/Code-CaoZuo/11.cpp:191: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()&#39; D:/Code-CaoZuo/11.cpp:175: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()&#39; C:\Users\HUAWEI\AppData\Local\Temp\cc45uoJX.o: In function `displayProcesses(PCB*)&#39;: D:/Code-CaoZuo/11.cpp:208: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/11.cpp:208: undefined reference to `std::ostream::operator<<(std::ostream& (*)(std::ostream&))&#39; D:/Code-CaoZuo/11.cpp:209: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/11.cpp:209: undefined reference to `std::ostream::operator<<(std::ostream& (*)(std::ostream&))&#39; D:/Code-CaoZuo/11.cpp:213: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <char, std::char_traits<char>, std::allocator<char> >(std::basic_ostream<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)&#39; D:/Code-CaoZuo/11.cpp:213: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/11.cpp:213: undefined reference to `std::ostream::operator<<(int)&#39; D:/Code-CaoZuo/11.cpp:213: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/11.cpp:213: undefined reference to `std::ostream::operator<<(int)&#39; D:/Code-CaoZuo/11.cpp:213: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/11.cpp:214: undefined reference to `std::ostream::operator<<(int)&#39; D:/Code-CaoZuo/11.cpp:214: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/11.cpp:214: undefined reference to `std::ostream::operator<<(int)&#39; D:/Code-CaoZuo/11.cpp:214: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/11.cpp:217: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/11.cpp:218: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/11.cpp:219: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/11.cpp:221: undefined reference to `std::ostream::operator<<(std::ostream& (*)(std::ostream&))&#39; C:\Users\HUAWEI\AppData\Local\Temp\cc45uoJX.o: In function `freeProcesses(PCB*)&#39;: D:/Code-CaoZuo/11.cpp:233: undefined reference to `operator delete(void*, unsigned long long)&#39; C:\Users\HUAWEI\AppData\Local\Temp\cc45uoJX.o: In function `main&#39;: D:/Code-CaoZuo/11.cpp:241: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/11.cpp:241: undefined reference to `std::ostream::operator<<(std::ostream& (*)(std::ostream&))&#39; D:/Code-CaoZuo/11.cpp:242: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/11.cpp:242: undefined reference to `std::ostream::operator<<(std::ostream& (*)(std::ostream&))&#39; D:/Code-CaoZuo/11.cpp:243: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/11.cpp:243: undefined reference to `std::ostream::operator<<(std::ostream& (*)(std::ostream&))&#39; D:/Code-CaoZuo/11.cpp:244: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/11.cpp:245: undefined reference to `std::istream::operator>>(int&)&#39; D:/Code-CaoZuo/11.cpp:247: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/11.cpp:248: undefined reference to `std::istream::operator>>(int&)&#39; D:/Code-CaoZuo/11.cpp:254: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/11.cpp:263: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; D:/Code-CaoZuo/11.cpp:263: undefined reference to `std::ostream::operator<<(std::ostream& (*)(std::ostream&))&#39; D:/Code-CaoZuo/11.cpp:267: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)&#39; C:\Users\HUAWEI\AppData\Local\Temp\cc45uoJX.o: In function `__tcf_0&#39;: E:/VScode/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/iostream:74: undefined reference to `std::ios_base::Init::~Init()&#39; C:\Users\HUAWEI\AppData\Local\Temp\cc45uoJX.o: In function `__static_initialization_and_destruction_0&#39;: E:/VScode/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/iostream:74: undefined reference to `std::ios_base::Init::Init()&#39; C:\Users\HUAWEI\AppData\Local\Temp\cc45uoJX.o:11.cpp:(.xdata+0x34): undefined reference to `__gxx_personality_seh0&#39; C:\Users\HUAWEI\AppData\Local\Temp\cc45uoJX.o: In function `PCB::PCB(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, int, int)&#39;: D:/Code-CaoZuo/11.cpp:26: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)&#39; C:\Users\HUAWEI\AppData\Local\Temp\cc45uoJX.o: In function `PCB::~PCB()&#39;: D:/Code-CaoZuo/11.cpp:13: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()&#39; C:\Users\HUAWEI\AppData\Local\Temp\cc45uoJX.o: In function `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > __gnu_cxx::__to_xstring<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, char>(int (*)(char*, unsigned long long, char const*, char*), unsigned long long, char const*, ...)&#39;: E:/VScode/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/ext/string_conversions.h:115: undefined reference to `std::allocator<char>::allocator()&#39; E:/VScode/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/ext/string_conversions.h:115: undefined reference to `std::allocator<char>::~allocator()&#39; E:/VScode/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/ext/string_conversions.h:115: undefined reference to `std::allocator<char>::~allocator()&#39; C:\Users\HUAWEI\AppData\Local\Temp\cc45uoJX.o:11.cpp:(.xdata$_ZN9__gnu_cxx12__to_xstringINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEcEET_PFiPT0_yPKS8_PcEySB_z+0xc): undefined reference to `__gxx_personality_seh0&#39; C:\Users\HUAWEI\AppData\Local\Temp\cc45uoJX.o: In function `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider::~_Alloc_hider()&#39;: E:/VScode/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/basic_string.h:139: undefined reference to `std::allocator<char>::~allocator()&#39; C:\Users\HUAWEI\AppData\Local\Temp\cc45uoJX.o: In function `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > std::operator+<char, std::char_traits<char>, std::allocator<char> >(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)&#39;: E:/VScode/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/basic_string.h:5979: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::insert(unsigned long long, char const*)&#39; E:/VScode/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/basic_string.h:5979: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)&#39; C:\Users\HUAWEI\AppData\Local\Temp\cc45uoJX.o: In function `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string<char*, void>(char*, char*, std::allocator<char> const&)&#39;: E:/VScode/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/basic_string.h:606: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_local_data()&#39; E:/VScode/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/basic_string.h:606: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider::_Alloc_hider(char*, std::allocator<char> const&)&#39; C:\Users\HUAWEI\AppData\Local\Temp\cc45uoJX.o:11.cpp:(.xdata$_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1IPcvEET_S7_RKS3_+0xc): undefined reference to `__gxx_personality_seh0&#39; C:\Users\HUAWEI\AppData\Local\Temp\cc45uoJX.o: In function `void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char*>(char*, char*, std::forward_iterator_tag)&#39;: E:/VScode/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/basic_string.tcc:212: undefined reference to `std::__throw_logic_error(char const*)&#39; E:/VScode/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/basic_string.tcc:219: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_create(unsigned long long&, unsigned long long)&#39; E:/VScode/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/basic_string.tcc:219: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_data(char*)&#39; E:/VScode/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/basic_string.tcc:220: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_capacity(unsigned long long)&#39; E:/VScode/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/basic_string.tcc:225: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_data() const&#39; E:/VScode/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/basic_string.tcc:225: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_S_copy_chars(char*, char*, char*)&#39; E:/VScode/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/basic_string.tcc:232: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_set_length(unsigned long long)&#39; E:/VScode/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/basic_string.tcc:226: undefined reference to `__cxa_begin_catch&#39; E:/VScode/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/basic_string.tcc:228: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_dispose()&#39; E:/VScode/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/basic_string.tcc:229: undefined reference to `__cxa_rethrow&#39; E:/VScode/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/basic_string.tcc:226: undefined reference to `__cxa_end_catch&#39; C:\Users\HUAWEI\AppData\Local\Temp\cc45uoJX.o:11.cpp:(.xdata$_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPcEEvT_S7_St20forward_iterator_tag+0xc): undefined reference to `__gxx_personality_seh0&#39; C:\Users\HUAWEI\AppData\Local\Temp\cc45uoJX.o:11.cpp:(.rdata$.refptr._ZSt3cin[.refptr._ZSt3cin]+0x0): undefined reference to `std::cin&#39; C:\Users\HUAWEI\AppData\Local\Temp\cc45uoJX.o:11.cpp:(.rdata$.refptr._ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_[.refptr._ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_]+0x0): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&)&#39; C:\Users\HUAWEI\AppData\Local\Temp\cc45uoJX.o:11.cpp:(.rdata$.refptr._ZSt4cout[.refptr._ZSt4cout]+0x0): undefined reference to `std::cout&#39; collect2.exe: error: ld returned 1 exit status 生成已完成,但出现错误。 * 终端进程启动失败(退出代码: -1)。 * 终端将被任务重用,按任意键关闭。
最新发布
09-29
<think>我们正在解决一个C++编译错误:`cannotbind&#39;std::ostream&#39;lvalueto&#39;std::basic_ostream<char>&&&#39;`。这个错误通常发生在尝试将左值输出流(如`std::cout`)绑定到一个期望右值引用的函数参数上。参考引用中提到的几个类似错误:-引用[1]和[4]直接提到了相同的错误,与`std::ostream`相关。-引用[2]和[3]则是关于无法将非const左值引用绑定到右值的错误,虽然上下文不同,但根本原因类似:都是试图将左值绑定到需要右值引用的地方。##错误分析在C++中,`std::ostream`(例如`std::cout`)是一个左值(有名字的对象)。当我们尝试将它传递给一个接受右值引用(如`std::basic_ostream<char>&&`)的函数时,就会发生这个错误。###常见场景1.**链式输出操作符使用不当**:例如,尝试将输出操作符`<<`用于一个返回临时流对象的表达式,而该临时对象是右值,但后续又试图将左值流(如`cout`)与这个右值绑定。2.**函数参数类型不匹配**:某个函数期望接收一个右值流引用(`std::ostream&&`),但传递了一个左值(如`std::cout`)。##解决方案###场景1:链式输出中的问题考虑以下代码:```cpp#include<iostream>intmain(){std::cout<<"Hello"<<std::endl;return0;}```这段代码通常不会出错。但如果出现类似下面的情况:```cpp//错误示例:假设有一个返回临时ostream的函数std::ostream&&createStream(){returnstd::move(std::cout);}intmain(){createStream()<<"Hello";//这里可能没问题,因为createStream返回的是右值引用//但如果我们试图将cout与某个返回右值引用的操作结合,可能会出现问题}```实际上,常见错误往往发生在更复杂的表达式里。例如,你可能有一个重载了输出操作符的函数,该函数返回一个临时流对象(右值),然后你试图将整个表达式再与`cout`连接:```cpp//错误示例std::ostream&operator<<(std::ostream&os,constMyType&obj){//...输出一些内容returnos;}//然后这样使用:std::cout<<MyType()<<"something";//这通常不会出错//但是,如果错误地返回了临时对象,比如:std::ostreamoperator<<(std::ostreamos,constMyType&obj){//注意:这里按值传递,返回临时对象returnos;}//此时,MyType()<<返回一个临时ostream对象(右值),再与"something"连接时就会出错://因为后面的<<需要左值ostream,但得到的是右值。```###场景2:函数参数类型为右值引用如果有一个函数声明为:```cppvoidfunc(std::ostream&&os);```那么你不能传递`std::cout`给它,因为`std::cout`是左值。你可以使用`std::move`将其转换为右值:```cppfunc(std::move(std::cout));```但注意,移动`std::cout`后,不能再安全使用它(因为移动后的流状态不确定)。通常标准库的流对象(如cout)不应该被移动。##实际修复步骤1.**检查输出操作符重载**:确保自定义的输出操作符返回的是左值引用(`std::ostream&`),而不是按值返回(返回临时对象)或右值引用。```cpp//正确写法std::ostream&operator<<(std::ostream&os,constMyType&obj){os<<obj.data;returnos;//返回传入的os引用}```2.**检查函数调用**:如果调用了一个接受右值流引用的函数,考虑是否应该修改函数签名。通常,流参数应该使用非const左值引用(`std::ostream&`),因为流的状态会被修改(如写入数据)。3.**避免移动标准流**:不要对`std::cout`、`std::cerr`等使用`std::move`,因为它们不应被移动。##示例修复假设错误出现在类似引用[4]的上下文中(虽然引用[4]中的代码已经修正了查找输出,但错误信息类似),我们可以这样修正:###错误代码示例```cpp#include<iostream>#include<set>usingnamespacestd;intmain(){set<int>s;s.insert(1);//错误写法:试图将s.find(1)的结果直接输出,但find返回迭代器,不能直接输出//cout<<s.find(1);//这会导致编译错误,因为set::iterator没有重载<<//另一个错误示例:假设有一个返回临时流的函数//比如错误地重载了<<return0;}```###修正正确的做法是输出迭代器解引用的值(如果找到):```cppautoit=s.find(1);if(it!=s.end()){cout<<*it<<endl;//正确:输出迭代器指向的值}```##总结错误`cannotbind&#39;std::ostream&#39;lvalueto&#39;std::basic_ostream<char>&&&#39;`的根本原因是**将左值流对象绑定到期望右值引用的地方**。修复方法包括:1.检查自定义的输出操作符重载,确保返回类型为`std::ostream&`。2.避免在流操作中产生不必要的临时流对象。3.检查函数参数类型,若函数需要右值引用,考虑是否应该改为左值引用(通常流操作应使用左值引用)。如果问题仍然存在,请提供出现错误的代码片段,以便进一步分析。§§相关问题§§1.C++中左值和右值引用有什么区别?2.如何正确重载C++的输出操作符(<<)?3.为什么移动`std::cout`这样的标准流对象是不安全的?</think>## 解决C++错误:cannot bind &#39;std::ostream&#39; lvalue to &#39;std::basic_ostream<char>&&&#39; 这个错误通常发生在尝试将左值输出流(如 `std::cout`)传递给期望右值引用的函数或操作时。以下是完整分析和解决方案: ### 错误原因分析 1. **左值 vs 右值引用问题**: - `std::ostream`(如 `std::cout`)是**左值**(有名称、持久存在的对象) - 错误消息表明代码尝试将其绑定到需要**右值引用**(`&&`)的位置 - C++禁止将左值隐式转换为右值引用 2. **常见触发场景**: - 在链式输出操作中使用了返回临时对象的表达式 - 自定义输出操作符(`<<`)实现不正确 - 将输出流传递给接受右值引用的函数 ### 解决方案 #### ✅ 方案1:修复自定义输出操作符(最常见原因) ```cpp // 错误实现(导致绑定问题) std::ostream operator<<(std::ostream os, const MyClass& obj) { os << obj.data; return os; } // ✅ 正确实现(使用引用) std::ostream& operator<<(std::ostream& os, const MyClass& obj) { os << obj.data; return os; // 返回左值引用 } ``` **关键修改**: - 参数类型:`std::ostream&`(左值引用) - 返回类型:`std::ostream&`(左值引用) #### ✅ 方案2:避免临时流对象 ```cpp // 错误用法(创建临时流) std::cout << (std::ostringstream() << "Temporary"); // ✅ 正确用法(使用命名对象) std::ostringstream temp; temp << "Temporary"; std::cout << temp.str(); ``` #### ✅ 方案3:正确处理流返回值 ```cpp // 错误:尝试直接使用函数返回的临时流 std::cout << createStream(); // ✅ 正确:使用中间变量 std::ostream& streamRef = createStream(); std::cout << streamRef; ``` #### ✅ 方案4:检查标准库函数使用(参考引用[4]) ```cpp // 错误:直接输出find()结果(set::find返回迭代器) std::cout << s.find(m); // ✅ 正确:解引用迭代器 auto it = s.find(m); if(it != s.end()) { std::cout << *it; // 解引用迭代器 } ``` ### 深入原理 1. **左值 vs 右值**: - 左值(lvalue):有持久状态的对象(变量、具名引用) - 右值(rvalue):临时对象,即将销毁的值 2. **流对象的特殊性质**: ```mermaid graph LR A[ostream对象] --> B[不可复制] A --> C[可移动C++11+] A --> D[应始终通过引用传递] ``` 3. **为什么需要返回引用**: $$ \text{operator<<} \rightarrow \text{返回ostream&} \Rightarrow \text{支持链式调用} $$ 如:`std::cout << a << b << c;` ### 最佳实践 1. 始终使用引用传递流对象: ```cpp void print(std::ostream& os) { ... } // ✅ void print(std::ostream os) { ... } // ❌ ``` 2. 避免在流操作中创建临时对象 3. 使用标准库算法时注意迭代器解引用: ```cpp // 正确使用copy算法 std::copy(vec.begin(), vec.end(), std::ostream_iterator<int>(std::cout, " ")); ``` ### 完整修复示例 ```cpp #include <iostream> #include <vector> #include <algorithm> struct Point { int x, y; friend std::ostream& operator<<(std::ostream& os, const Point& p) { return os << "(" << p.x << ", " << p.y << ")"; // ✅ 返回引用 } }; int main() { std::vector<Point> points{{1,2}, {3,4}}; // 正确输出 for(const auto& p : points) { std::cout << p << "\n"; // ✅ 使用自定义操作符 } return 0; } ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值