缺少库并且不确定是哪一个?

缺少库并且不确定是哪一个?

我有一个非常小而简单的程序

#include <iostream>
#include <fstream>
#include <cstring>
#include <cstdlib>
using namespace std;

int main()
{
  ifstream inf("artists.txt");
  char* moneyshot;
  inf >> moneyshot;
  cout << moneyshot;
  return 0;
}

我在学校的实验室里使用它。

但在我的计算机上,它出现了分段错误。

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7de87ca in ?? () from /lib64/ld-linux-x86-64.so.2

我使用 gdb 并意识到它在 cout 行执行此操作,我只能得出结论,我缺少库,但我不确定是哪些库,并且我想知道如何找到缺少的库以及如何获取它们?

答案1

您可能需要与 g++(GNU c++ 编译器,我猜您也需要它)一起提供的 C++ 库。

使用安装sudo apt-get install g++

但最好使用以下方法安装所有基本开发工具

sudo apt-get install build-essential

我不确定您是否缺少库。您不应该因缺少库而出现段错误。那么编译器将不会编译它。那是什么infifstream没有任何参考对此。检查一下程序。我不是 C++ 专家。所以在这里真的帮不了你。

相关内容