我有一个非常小而简单的程序
#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
我不确定您是否缺少库。您不应该因缺少库而出现段错误。那么编译器将不会编译它。那是什么inf
?ifstream
没有任何参考对此。检查一下程序。我不是 C++ 专家。所以在这里真的帮不了你。