Codeblocks в linux mint Процесс завершен со статусом -1

Итак, я только что установил блоки кода на Lnux mint 19, но у меня есть проблема. Я запустил обычную программу hello world, но получил "Процесс завершен со статусом -1". Часть «сборка» работает, но когда я нажимаю «выполнить», я получаю эту ошибку. У меня установлен g++ и он установлен как компилятор по умолчанию. Есть идеи?

Перепробовал все, что смог найти в интернете. Добавил реп, пробовал ставить как из центра программного обеспечения, так и из терминала, результат тот же.

int main()
{
cout << "Hello world!" << endl;
return 0;
}

Процесс завершен со статусом -1


person Radoslav Pavlov    schedule 10.11.2019    source источник
comment
Вы правильно установили xterm?   -  person Nederes    schedule 10.11.2019


Ответы (2)


Из того, что я могу сказать, из минимального количества кода, который вы опубликовали, вам не хватает включений. Если вы не пропускаете включения, вы не сообщаете компилятору, где находятся cout и endl.

Ваш код должен выглядеть так:

#include <iostream>

int main() {
    using std::cout;
    using std::endl;

    cout << "Hello, World!" << endl;

    return 0;
}

Вот краткое объяснение.

#include <iostream> Указывает препроцессору загрузить этот заголовочный файл в вашу единицу перевода (файл CPP), чтобы у вас были все предварительные объявления, необходимые для использования различных объектов, функций и других членов STL.

using std::cout && using std::endl Эти две части кода сообщают компилятору, какие элементы пространства имен std вы хотите использовать. Я бы рекомендовал использовать этот метод (хотя он может показаться утомительным), а не using namespace std;. using Все пространство имен в данном случае загрязняет ваше глобальное пространство имен.

См. этот вопрос для получения дополнительных примеров того, почему вы должны избегать using namespace.

person SimonC    schedule 10.11.2019

Ваш терминал Linux по умолчанию кажется несовместимым с вызывающей функцией C. Попробуйте установить обычный xterm дополнительно к вашему основному терминалу:

$ sudo apt install xterm

Попробуйте запустить свой код сейчас.

Если это не поможет, вы также можете попробовать изменить терминал по умолчанию в кодовых блоках: перейдите в «Настройки»> «Среда»> «Общие настройки» и измените терминал, например, на «gnome-terminal».

Если это не удается, фактическая ошибка отображения X будет полезна для дальнейшего устранения неполадок:

$ tail -f ~/.xsession-errors

Попробуйте запустить свой код сейчас и проверьте свой терминал на наличие последней ошибки xsession. Скорее всего, оно начнется с «Ошибка установки метаданных файла:» Там вы можете найти полное сообщение об ошибке.

person Mykhailo Badiuk    schedule 29.03.2020