Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.22.51.241] |
|
Сообщ.
#1
,
|
|
|
На 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= " число городов в Задаче Коммивояжера. Так что дело не в разрешениях программ терминала. |
Сообщ.
#2
,
|
|
|
В общем, поставил на свой другой ноутбук Debian 9.8 64bit.
Все тоже самое, что и на Debian 9.7 32bit Приведу команды, которыми я устанавливал все системы программирования(исходники не ставил): #apt-get update #apt-get install qt5-default #apt-get install qtcreator Ну и, разумеется,я дал согласие на установку всех запрошенных пакетов. Опять все мои консольные (уже ранее отлаженные) программы без проблем скомпилировались и исполняемые файлы без проблем работают в терминалах. Но вот при попытке выполнить тот же самый код в QTcreator в режиме "Отладка" терминал не появляется и только мигает внизу вкладка N 3... P.S. Неужели никто из программистов не использует Debian?! Вроде говорят, что самые стабильные и вылизанные дистрибутивы выпускают... Поэтому его и поставил. Ну и еще потому, что непосредственный руководитель - поклонник Debian. |
Сообщ.
#3
,
|
|
|
Цитата mkudritsky @ Однако при попытке запуска проектов в Qt Creator не открывается консоль! И, соответственно, программа далее не идет, т.к. мне в консоли надо вводить данные на запрос программы. А должна? На всякий случай напомню. В QtCreator'е можно создавать разные типы приложений. С поддержкой Qt или без, с GUI или консольное ... Давай начнем с того, что ты приведешь ниже свой файл проекта (*.pro), который работает не так, как ожидалось. ЗЫ: Вангую - Дебиан ту ваще не причем. |
Сообщ.
#4
,
|
|
|
Цитата JoeUser @ [Давай начнем с того, что ты приведешь ниже свой файл проекта (*.pro), который работает не так, как ожидалось. ЗЫ: Вангую - Дебиан ту ваще не причем. Приведу не только текст файла проекта: TEMPLATE = app CONFIG += console CONFIG -= app_bundle CONFIG -= qt SOURCES += main.c Но и сам текст программы на C (это программа формирования квадратной матрицы, размерность которой надо ввести в злополучном терминальном окне): #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) таких проблем и близко не было! |
Сообщ.
#5
,
|
|
|
Дополню пост.
На свой другой ноутбук с полностью 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 и его обвязки. Буду держать коллег в курсе событий... |
Сообщ.
#6
,
|
|
|
Проблема решена!
Мда... Без стакана тут не разберешься. 1. Итак, открываю проект и захожу в Проекты -> Запуск -> Настройки запуска И вижу, что там УСТАНОВЛЕНА галочка "Запускать в терминале" Но, как я уже писал выше, терминал не открывается! 2. Снимаем галочку "Запускать в терминале". Все сохраняем (Файл -> Сохранить все). Опять устанавливаем галочку "Запускать в терминале". Снова все сохраняем. И (мистика) - терминал начинает открываться! Ура! Спасибо за помощь! P.S. Думаю, что тут есть небольшая ошибка в GUI Qt Creator - кое-где программа при первом запуске отмечает галочками то, что не помечено в каких-то файлах настройки. Но если убрать галочку, все сохранить, поставить галочку и опять все сохранить - все начинает работать! |