Russian Qt Forum

Qt => Вопросы новичков => Тема начата: Kostya от Декабрь 24, 2011, 22:41



Название: C++ под Linux
Отправлено: Kostya от Декабрь 24, 2011, 22:41
Здравствуйте!

Недавно установил QT Creator в Linux. Хотел написать консольную программу, но функция system("pause"), не работает.

Хочу спросить:

- Как можно сделать паузу для работы в программе (иначе она закрывается настолько быстро, что даже не видно как она открывается)?

- И надо ли как-то настраивать запуск консольных программ?

Заранее благодарен за ответ!
С уважением Kostya!


Название: Re: C++ под Linux
Отправлено: maint от Декабрь 25, 2011, 10:28
вызвать getchar()


Название: Re: C++ под Linux
Отправлено: ddrtn от Декабрь 25, 2011, 12:01
system("wait");


Название: Re: C++ под Linux
Отправлено: Kostya от Декабрь 26, 2011, 14:06
Вызывал getchar() перед командой return 0, но к сожалению консоль не открылась.

Хочу спросить: для system("wait"); нужно в linux дополнительные "инклуды" подключать(кроме #include <iostream>)? Если нужно, то какие?

Заранее благодарен!
С уважением Kostya!


Название: Re: C++ под Linux
Отправлено: ddrtn от Декабрь 26, 2011, 14:20
#include<cstdlib>


Название: Re: C++ под Linux
Отправлено: Aluman от Декабрь 26, 2011, 15:03
Вызывал getchar() перед командой return 0, но к сожалению консоль не открылась.

Чтобы открылась консоль в "Настройки запуска" поставь галочку "Запускать в терминале".


Название: Re: C++ под Linux
Отправлено: Kostya от Декабрь 27, 2011, 21:24
Попробовал поставить галочку - запускать в терминале, но выдает ошибку что-то связаное с xterm .
Посмотрел в Интернете и узнал что необходимо прописать путь к этому xterm .
Когда решил в поиске найти этот файлик, linux выдал несколько папок с этим xterm.

Хочу спросить:
- Какой из предложенных в поиске файлов xterm  выбирать?
- И как правильно указать пусть к xterm ?
Если возможно разъясните пожалуйста по-подробнее! 

Уточнение: Если интересует версия linux, то у меня Mandiva 2010.

Заранее благодарен!
С уважением Kostya!



Название: Re: C++ под Linux
Отправлено: Пантер от Декабрь 28, 2011, 09:13
/usr/bin/xterm


Название: Re: C++ под Linux
Отправлено: Kostya от Декабрь 28, 2011, 14:48
Вы меня простите пожалуйста, что морочил голову , но по-моему терминал xterm у меня на компьютере не установлен.
Есть несколько файлов xterm, но кажется, что они не те которые надо.
Посмотрел установку программ, там нашел xterm как не установленный, но при установке выдает ошибки и устанавливаться не хочет, пробовал обновить linux, но и после обновления установка не пошла.

Скажите, а есть ли другой способ запуска консольного приложения в linux кроме терминала xterm?
Если есть, то как его необходимо настраивать?

Заранее благодарен за ответ!
С уважением Kostya!


Название: Re: C++ под Linux
Отправлено: Пантер от Декабрь 28, 2011, 14:55
Укажи тот терминал, который у тебя установлен. Если KDE, то konsole.


Название: Re: C++ под Linux
Отправлено: Kostya от Декабрь 29, 2011, 12:40
Большое спасибо!
Надо будет попробовать.

С уважением Kostya!


Название: Re: C++ под Linux
Отправлено: stima от Декабрь 29, 2011, 18:12
А чем не устроила консоль самого creatora?
Projects > Run Settings > Run in terminal - снять галочку запускать в терминале.

или что-то в духе:
Код:
#include <QtCore/QCoreApplication>
#include <iostream>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    std::cout << "Hello from console!" << std::endl;
   
    return a.exec();
}


Название: Re: C++ под Linux
Отправлено: Kostya от Январь 03, 2012, 20:32
Всем огромное спасибо за подсказки!!!

Сегодня у меня получилось решить мою задачу следующим способом:
- Создал проект
- Нажал команду Build
- Взял получившийся в результате файл и просто перетянул в Konsole в Linux
- Нажал клавишу Enter
- И программа которую я делал запустилась!

Еще раз всем огромное спасибо!
С уважением Kostya!


Название: Re: C++ под Linux
Отправлено: alexman от Январь 03, 2012, 21:54
Редко такую благодарность встретишь сейчас на форумах :(


Название: Re: C++ под Linux
Отправлено: andrew.k от Январь 04, 2012, 00:14
на этом форуме - не редко имхо.