【问题标题】:C++ Code not compiling and throws out a huge error! How do I fix it? [duplicate]C++ 代码未编译并抛出一个巨大的错误!我如何解决它? [复制]
【发布时间】:2021-07-28 03:36:48
【问题描述】:

我下面有一个代码示例代码,它生成某种类型的字符串。我正在使用 gcc,所以我像这样运行我的文件 gcc GenCode.cpp -o output.exe 但它给了我以下错误。我已经尝试重新安装 gcc 但它不起作用。 (现在我已经安装了所有的基本包)。我什至也尝试过重新启动计算机。使用 sublime compile 和 visual studio 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:\Users\DELL\AppData\Local\Temp\ccC21sev.o:GenCode.cpp:(.text+0x13): undefined reference to `std::basic_ofstream<char, std::char_traits<char> >::basic_ofstream()'
C:\Users\DELL\AppData\Local\Temp\ccC21sev.o:GenCode.cpp:(.text+0x41): undefined reference to `std::basic_ofstream<char, std::char_traits<char> >::open(char const*, std::_Ios_Openmode)'
C:\Users\DELL\AppData\Local\Temp\ccC21sev.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:\Users\DELL\AppData\Local\Temp\ccC21sev.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:\Users\DELL\AppData\Local\Temp\ccC21sev.o:GenCode.cpp:(.text+0x67): undefined reference to `std::ostream::operator<<(std::ostream& (*)(std::ostream&))'
C:\Users\DELL\AppData\Local\Temp\ccC21sev.o:GenCode.cpp:(.text+0x77): undefined reference to `std::basic_ofstream<char, std::char_traits<char> >::close()'
C:\Users\DELL\AppData\Local\Temp\ccC21sev.o:GenCode.cpp:(.text+0x84): undefined reference to `std::basic_ofstream<char, std::char_traits<char> >::~basic_ofstream()'
C:\Users\DELL\AppData\Local\Temp\ccC21sev.o:GenCode.cpp:(.text+0x95): undefined reference to `std::basic_ofstream<char, std::char_traits<char> >::~basic_ofstream()'
C:\Users\DELL\AppData\Local\Temp\ccC21sev.o:GenCode.cpp:(.text+0xc3): undefined reference to `std::cout'
C:\Users\DELL\AppData\Local\Temp\ccC21sev.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:\Users\DELL\AppData\Local\Temp\ccC21sev.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:\Users\DELL\AppData\Local\Temp\ccC21sev.o:GenCode.cpp:(.text+0xd6): undefined reference to `std::ostream::operator<<(std::ostream& (*)(std::ostream&))'
C:\Users\DELL\AppData\Local\Temp\ccC21sev.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:\Users\DELL\AppData\Local\Temp\ccC21sev.o:GenCode.cpp:(.text+0x12a): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
C:\Users\DELL\AppData\Local\Temp\ccC21sev.o:GenCode.cpp:(.text+0x134): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
C:\Users\DELL\AppData\Local\Temp\ccC21sev.o:GenCode.cpp:(.text+0x189): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
C:\Users\DELL\AppData\Local\Temp\ccC21sev.o:GenCode.cpp:(.text+0x19b): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
C:\Users\DELL\AppData\Local\Temp\ccC21sev.o:GenCode.cpp:(.text+0x1b1): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
C:\Users\DELL\AppData\Local\Temp\ccC21sev.o:GenCode.cpp:(.text+0x1fd): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string()'
C:\Users\DELL\AppData\Local\Temp\ccC21sev.o:GenCode.cpp:(.text+0x230): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
C:\Users\DELL\AppData\Local\Temp\ccC21sev.o:GenCode.cpp:(.text+0x23a): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
C:\Users\DELL\AppData\Local\Temp\ccC21sev.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:\Users\DELL\AppData\Local\Temp\ccC21sev.o:GenCode.cpp:(.text+0x269): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
C:\Users\DELL\AppData\Local\Temp\ccC21sev.o:GenCode.cpp:(.text+0x27c): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
C:\Users\DELL\AppData\Local\Temp\ccC21sev.o:GenCode.cpp:(.text+0x28a): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
C:\Users\DELL\AppData\Local\Temp\ccC21sev.o:GenCode.cpp:(.text+0x2a0): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
C:\Users\DELL\AppData\Local\Temp\ccC21sev.o:GenCode.cpp:(.text+0x2c4): undefined reference to `std::ios_base::Init::~Init()'
C:\Users\DELL\AppData\Local\Temp\ccC21sev.o:GenCode.cpp:(.text+0x2d6): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
C:\Users\DELL\AppData\Local\Temp\ccC21sev.o:GenCode.cpp:(.text+0x2f7): undefined reference to `std::ios_base::Init::Init()'
C:\Users\DELL\AppData\Local\Temp\ccC21sev.o:GenCode.cpp:(.text+0x30d): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string()'
C:\Users\DELL\AppData\Local\Temp\ccC21sev.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:\Users\DELL\AppData\Local\Temp\ccC21sev.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:\Users\DELL\AppData\Local\Temp\ccC21sev.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:\Users\DELL\AppData\Local\Temp\ccC21sev.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:\Users\DELL\AppData\Local\Temp\ccC21sev.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:\Users\DELL\AppData\Local\Temp\ccC21sev.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:\Users\DELL\AppData\Local\Temp\ccC21sev.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:\Users\DELL\AppData\Local\Temp\ccC21sev.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:\Users\DELL\AppData\Local\Temp\ccC21sev.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:\Users\DELL\AppData\Local\Temp\ccC21sev.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:\Users\DELL\AppData\Local\Temp\ccC21sev.o:GenCode.cpp:(.eh_frame+0x13): undefined reference to `__gxx_personality_v0'
C:\Users\DELL\AppData\Local\Temp\ccC21sev.o:GenCode.cpp:(.eh_frame$_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_PKS5_+0x13): undefined reference to `__gxx_personality_v0'
C:\Users\DELL\AppData\Local\Temp\ccC21sev.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

【问题讨论】:

  • 你试过用 g++ comlite this 吗??

标签: c++ gcc


【解决方案1】:

代替

gcc GenCode.cpp -o output.exe

使用

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

编译器生成目标文件时没有错误,但链接器明确抱怨:“未定义对 .... 的引用”

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

【讨论】:

  • 或者改用g++,这样就可以做正确的事情,而无需显式添加C++库。
  • 快速提问#include &lt;SFML/Graphics.hpp&gt; int main(){ sf::RenderWindow window(sf::VideoMode(200, 200), "SFML works!"); sf::CircleShape shape(100.f); shape.setFillColor(sf::Color::Green); while (window.isOpen()){ sf::Event event; while (window.pollEvent(event)){ if (event.type == sf::Event::Closed) window.close(); } window.clear(); window.draw(shape); window.display(); } return 0; }我怎样才能运行这个。SFML_test.cpp
  • @AlphaWolfGamer 这看起来像是一个无关的问题。为此提出一个单独的问题并解释问题所在。
  • 好的 @TedLungmo 我将创建一个新问题
猜你喜欢
  • 2020-02-19
  • 1970-01-01
  • 2017-07-25
  • 1970-01-01
  • 2013-01-21
  • 2020-10-03
  • 2020-12-11
  • 2020-04-15
  • 1970-01-01
相关资源
最近更新 更多