C++代码没有编译并抛出一个巨大的错误!我该如何修复它



我下面有一个代码示例代码,它生成特定类型的字符串。我使用的是gcc,所以我像这样运行我的文件gcc GenCode.cpp -o output.exe,但它给了我以下错误。我试过重新安装gcc,但它不起作用。(目前我已经安装了所有的基本软件包(。我甚至试过重新启动我的电脑。使用premium compile和visualstudio compile运行,但不起作用。以前它可以工作,但后来我安装了几个软件包,现在它不工作了

#include <iostream>
#include <vector>
// #include <cstring>
// #include <cstdio>
// #include <future>
#include <string>
#include<fstream>
using namespace std;
void write(string v){
ofstream file;
file.open("code.txt");
file<<v<<endl;
file.close();
}
string codes = string();
char token[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
void gen(string code, int depth){
if (depth >= 16){
cout << code <<endl;
codes = codes + "n" + code;
}else{
for (size_t i = 0; i < 62;i++){
gen(code+token[i],depth+1);
}
}
}
int main(){
for (int i = 0; i < 62; i++) {
gen(string()+token[i],1);
}
write(codes);
return 0;
}
C:UsersDELLAppDataLocalTempccC21sev.o:GenCode.cpp:(.text+0x13): undefined reference to `std::basic_ofstream<char, std::char_traits<char> >::basic_ofstream()'
C:UsersDELLAppDataLocalTempccC21sev.o:GenCode.cpp:(.text+0x41): undefined reference to `std::basic_ofstream<char, std::char_traits<char> >::open(char const*, std::_Ios_Openmode)'
C:UsersDELLAppDataLocalTempccC21sev.o:GenCode.cpp:(.text+0x59): 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&)'
C:UsersDELLAppDataLocalTempccC21sev.o:GenCode.cpp:(.text+0x60): 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> >&)'
C:UsersDELLAppDataLocalTempccC21sev.o:GenCode.cpp:(.text+0x67): undefined reference to `std::ostream::operator<<(std::ostream& (*)(std::ostream&))'
C:UsersDELLAppDataLocalTempccC21sev.o:GenCode.cpp:(.text+0x77): undefined reference to `std::basic_ofstream<char, std::char_traits<char> >::close()'
C:UsersDELLAppDataLocalTempccC21sev.o:GenCode.cpp:(.text+0x84): undefined reference to `std::basic_ofstream<char, std::char_traits<char> >::~basic_ofstream()'
C:UsersDELLAppDataLocalTempccC21sev.o:GenCode.cpp:(.text+0x95): undefined reference to `std::basic_ofstream<char, std::char_traits<char> >::~basic_ofstream()'
C:UsersDELLAppDataLocalTempccC21sev.o:GenCode.cpp:(.text+0xc3): undefined reference to `std::cout'
C:UsersDELLAppDataLocalTempccC21sev.o:GenCode.cpp:(.text+0xc8): 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&)'
C:UsersDELLAppDataLocalTempccC21sev.o:GenCode.cpp:(.text+0xcf): 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> >&)'
C:UsersDELLAppDataLocalTempccC21sev.o:GenCode.cpp:(.text+0xd6): undefined reference to `std::ostream::operator<<(std::ostream& (*)(std::ostream&))'
C:UsersDELLAppDataLocalTempccC21sev.o:GenCode.cpp:(.text+0x11d): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator=(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)'
C:UsersDELLAppDataLocalTempccC21sev.o:GenCode.cpp:(.text+0x12a): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
C:UsersDELLAppDataLocalTempccC21sev.o:GenCode.cpp:(.text+0x134): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
C:UsersDELLAppDataLocalTempccC21sev.o:GenCode.cpp:(.text+0x189): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
C:UsersDELLAppDataLocalTempccC21sev.o:GenCode.cpp:(.text+0x19b): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
C:UsersDELLAppDataLocalTempccC21sev.o:GenCode.cpp:(.text+0x1b1): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
C:UsersDELLAppDataLocalTempccC21sev.o:GenCode.cpp:(.text+0x1fd): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string()'
C:UsersDELLAppDataLocalTempccC21sev.o:GenCode.cpp:(.text+0x230): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
C:UsersDELLAppDataLocalTempccC21sev.o:GenCode.cpp:(.text+0x23a): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
C:UsersDELLAppDataLocalTempccC21sev.o:GenCode.cpp:(.text+0x251): 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&)'
C:UsersDELLAppDataLocalTempccC21sev.o:GenCode.cpp:(.text+0x269): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
C:UsersDELLAppDataLocalTempccC21sev.o:GenCode.cpp:(.text+0x27c): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
C:UsersDELLAppDataLocalTempccC21sev.o:GenCode.cpp:(.text+0x28a): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
C:UsersDELLAppDataLocalTempccC21sev.o:GenCode.cpp:(.text+0x2a0): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
C:UsersDELLAppDataLocalTempccC21sev.o:GenCode.cpp:(.text+0x2c4): undefined reference to `std::ios_base::Init::~Init()'
C:UsersDELLAppDataLocalTempccC21sev.o:GenCode.cpp:(.text+0x2d6): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
C:UsersDELLAppDataLocalTempccC21sev.o:GenCode.cpp:(.text+0x2f7): undefined reference to `std::ios_base::Init::Init()'
C:UsersDELLAppDataLocalTempccC21sev.o:GenCode.cpp:(.text+0x30d): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string()'
C:UsersDELLAppDataLocalTempccC21sev.o:GenCode.cpp:(.text$_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_PKS5_[__ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_PKS5_]+0x11): 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&)'
C:UsersDELLAppDataLocalTempccC21sev.o:GenCode.cpp:(.text$_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_PKS5_[__ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_PKS5_]+0x22): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::append(char const*)'
C:UsersDELLAppDataLocalTempccC21sev.o:GenCode.cpp:(.text$_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_PKS5_[__ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_PKS5_]+0x31): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
C:UsersDELLAppDataLocalTempccC21sev.o:GenCode.cpp:(.text$_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_RKS8_[__ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_RKS8_]+0x12): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::append(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
C:UsersDELLAppDataLocalTempccC21sev.o:GenCode.cpp:(.text$_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_RKS8_[__ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_RKS8_]+0x28): 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> >&&)'
C:UsersDELLAppDataLocalTempccC21sev.o:GenCode.cpp:(.text$_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_S5_[__ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_S5_]+0x17): 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&)'
C:UsersDELLAppDataLocalTempccC21sev.o:GenCode.cpp:(.text$_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_S5_[__ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_S5_]+0x31): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::append(unsigned int, char)'
C:UsersDELLAppDataLocalTempccC21sev.o:GenCode.cpp:(.text$_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_S5_[__ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_S5_]+0x40): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
C:UsersDELLAppDataLocalTempccC21sev.o:GenCode.cpp:(.text$_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S5_[__ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S5_]+0x21): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::append(unsigned int, char)'
C:UsersDELLAppDataLocalTempccC21sev.o:GenCode.cpp:(.text$_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S5_[__ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S5_]+0x37): 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> >&&)'
C:UsersDELLAppDataLocalTempccC21sev.o:GenCode.cpp:(.eh_frame+0x13): undefined reference to `__gxx_personality_v0'
C:UsersDELLAppDataLocalTempccC21sev.o:GenCode.cpp:(.eh_frame$_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_PKS5_+0x13): undefined reference to `__gxx_personality_v0'
C:UsersDELLAppDataLocalTempccC21sev.o:GenCode.cpp:(.eh_frame$_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_S5_+0x13): undefined reference to `__gxx_personality_v0'
collect2.exe: error: ld returned 1 exit status

而不是

gcc GenCode.cpp -o output.exe

使用

gcc GenCode.cpp -o output.exe -lstdc++

编译器生成的对象文件没有错误,但链接器显式地抱怨:";未定义对…的引用">

在IDE设置中,也不要忘记将此(-lstdc++(选项添加到链接器的参数中。

最新更新