У меня очень маленькая и простая программа
#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, и я могу только заключить, что мне не хватает библиотек, я не уверен, какие из них, и мне было интересно, как найти отсутствующие и как их получить?
Вам могут понадобиться библиотеки C ++, которые поставляются вместе с g ++ (компилятор GNU c ++, который, как мне кажется, вам также необходим).
Установка с использованием sudo apt-get install g++
Но было бы лучше установить все основные инструменты разработки с использованием
sudo apt-get install build-essential
Я не уверен, что вам не хватает библиотек , Вы не должны получить segfault на отсутствующие библиотеки. Компилятор не скомпилирует его тогда. Что это inf
? ifstream
не имеет никаких ссылок на него. Проверьте программу один раз. Я не эксперт в C ++. Так что не могу вам здесь помочь.