На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела *nix / gcc / Eclipse / Qt / wxWidgets / GTK+
  • При создании темы ОБЯЗАТЕЛЬНО указывайте версию тулкита / библиотеки / компилятора.
  • Перед тем как задать вопрос, сформулируйте его правильно, чтобы вас могли понять.
  • Нарушение Правил может повлечь наказание со стороны модераторов.


Полезные ссылки:
user posted image Boost по-русски
user posted image Qt по-русски
Модераторы: archimed7592
  
> Debian 9.7 32bit. В консольных приложениях не запускается окно терминала. , Qt 5.7.1, Qt Creator 4.2.0, Clang, Kernel 4.9
    На Runtu 14.04.1 LITE (клон Ubuntu) Qt работал великолепно.
    Но срок поддержки Ubuntu истекает в апреле 2019 и поэтому решил проапгрейдить ОС.

    После установки Debian 9.7 32bit LXDE с оболочкой OpenBox я из репозиториев установил
    Qt 5.7.1 и Qt Creator 4.2.0 со всеми требуемыми пакетами.

    Все ранее созданные проекты компилируются.
    Они все консольные.
    Создаются исполнимые файлы и они отлично запускаются/работают в консоли.

    Однако при попытке запуска проектов в Qt Creator не открывается консоль!
    И, соответственно, программа далее не идет, т.к. мне в консоли надо вводить данные на запрос программы.

    Конечно, искал в Интернете ответ на свой вопрос - менял терминал (по-умолчанию настраивается на x-terminal-emulator) и на xterm, и на lxterminal.
    Бесполезно!
    Мне стыдно, но выкидываю белый флаг - не знаю, что дальше делать, чтобы открывался злополучный терминал.

    Подскажите, в чем дело и куда дальше копать!

    P.S. Пока не хочу менять Clang на gcc.
    P.P.S. Clang v.2.8.1. Проверил все под root - терминал тоже не запускается и не предлагает мне ввести на запрос "N= " число городов в Задаче Коммивояжера.
    Так что дело не в разрешениях программ терминала.
    Сообщение отредактировано: mkudritsky -
      В общем, поставил на свой другой ноутбук Debian 9.8 64bit.
      Все тоже самое, что и на Debian 9.7 32bit

      Приведу команды, которыми я устанавливал все системы программирования(исходники не ставил):
      ExpandedWrap disabled
        #apt-get update
        #apt-get install qt5-default
        #apt-get install qtcreator


      Ну и, разумеется,я дал согласие на установку всех запрошенных пакетов.

      Опять все мои консольные (уже ранее отлаженные) программы без проблем скомпилировались и исполняемые файлы без проблем работают в терминалах.
      Но вот при попытке выполнить тот же самый код в QTcreator в режиме "Отладка" терминал не появляется и только мигает внизу вкладка N 3...

      P.S. Неужели никто из программистов не использует Debian?! Вроде говорят, что самые стабильные и вылизанные дистрибутивы выпускают...
      Поэтому его и поставил. Ну и еще потому, что непосредственный руководитель - поклонник Debian.
      Сообщение отредактировано: mkudritsky -
        Цитата mkudritsky @
        Однако при попытке запуска проектов в Qt Creator не открывается консоль!
        И, соответственно, программа далее не идет, т.к. мне в консоли надо вводить данные на запрос программы.

        А должна?

        На всякий случай напомню. В QtCreator'е можно создавать разные типы приложений. С поддержкой Qt или без, с GUI или консольное ...

        Давай начнем с того, что ты приведешь ниже свой файл проекта (*.pro), который работает не так, как ожидалось.

        ЗЫ: Вангую - Дебиан ту ваще не причем.
          Цитата JoeUser @
          [Давай начнем с того, что ты приведешь ниже свой файл проекта (*.pro), который работает не так, как ожидалось.

          ЗЫ: Вангую - Дебиан ту ваще не причем.

          Приведу не только текст файла проекта:
          ExpandedWrap disabled
            TEMPLATE = app
            CONFIG += console
            CONFIG -= app_bundle
            CONFIG -= qt
             
            SOURCES += main.c

          Но и сам текст программы на C (это программа формирования квадратной матрицы, размерность которой надо ввести в злополучном терминальном окне):
          ExpandedWrap disabled
            #include <stdio.h>
            #include <stdlib.h>
            #include <time.h>
            //---------------------------------------------------------------------------
             
            int iRand() {
            // Аналог rand() для юродиевых версий "любимой" Windows, где RAND_MAX=32767
               int iR=rand();
               if ( RAND_MAX == 32767 ) { // 32767=2**15-1
                  iR <<= 15; // iR = iR*32768 (32768=2**15)
                  int iL = rand();
                  iR |= iL; // iR = rand()*(2**15)+rand;
               }
               return iR;
            }
            //---------------------------------------------------------------------------
             
            int main() {
               int N; // Число городов коммивояжера
               FILE *Fdat;                // Файл с матрицей расстояний
               // Задание числа городов
               printf("Матрица для числа городов N = ");
               if ( !scanf("%d",&N) ) {
                  printf("Не могу прочитать число городов N\n");
                  return -1;
               }
               // Открытие существующего файла или создание нового файла
               if (( Fdat=fopen("Matr.txt", "wt") ) == NULL) {
                  printf("Файл не удается открыть");
                  return -1;
               }
               // Выдача максимального числа
               printf("Максимальное число генератора = %d\n", RAND_MAX);
               // Инициализация датчика случайных чисел
               srand(time(NULL));
               // Создание матрицы
               for (int i=0; i<N; i++) {
                  for (int j=0; j<N-1; j++)
                     fprintf(Fdat,"%d ", iRand()%400001);
                  fprintf(Fdat,"%d\n", iRand()%400001);
               }
               // Закрытие файла с матрицей
               fclose(Fdat);
               // вывод общего числа маршрутов
               printf("Матрица сформирована!\n");
               return 0;
            }


          P.S. Debian тут при том, что на Runtu 14.04.1 LITE (клон Ubuntu 14.04.1) таких проблем и близко не было!
            Дополню пост.
            На свой другой ноутбук с полностью 64-разрядной архитектурой (Intel Core 2 Duo T6600, iGM45, 8Gb RAM DDR3...)
            установил Debian 7.8 64bit.

            Проблема осталась все та же: скомпилированные программы запускаются, а в режиме отладки в Qt Creator не запускается терминальное окно.
            Так что дело не в битности ОС и архитектуры.

            P.S. Надо попробовать установить Qt из *.deb пакета с сайта производителя ПО, а не из репозиториев
            Помнится, что в Ubuntu 14.04.1 я именно так и сделал, т.к. в репозиториях была староватая версия Qt и его обвязки.
            Буду держать коллег в курсе событий...
              Проблема решена!

              Мда... Без стакана тут не разберешься.
              1. Итак, открываю проект и захожу в
              Проекты -> Запуск -> Настройки запуска
              И вижу, что там УСТАНОВЛЕНА галочка "Запускать в терминале"
              Но, как я уже писал выше, терминал не открывается!

              2. Снимаем галочку "Запускать в терминале".
              Все сохраняем (Файл -> Сохранить все).
              Опять устанавливаем галочку "Запускать в терминале".
              Снова все сохраняем.
              И (мистика) - терминал начинает открываться!

              Ура! Спасибо за помощь!

              P.S. Думаю, что тут есть небольшая ошибка в GUI Qt Creator - кое-где программа при первом запуске отмечает галочками то, что не помечено в каких-то файлах настройки. Но если убрать галочку, все сохранить, поставить галочку и опять все сохранить - все начинает работать!
              Сообщение отредактировано: mkudritsky -
              0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
              0 пользователей:


              Рейтинг@Mail.ru
              [ Script execution time: 0,0306 ]   [ 16 queries used ]   [ Generated: 28.03.24, 23:44 GMT ]