Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Терминал или нет? 
:(
    Опции темы
OlegIT
Дата 6.3.2020, 15:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 683
Регистрация: 5.4.2006

Репутация: нет
Всего: нет



Как в консольной программе узнать (на стадии компиляции, через #ifdef) запущена она в терминале или нет?


Это сообщение отредактировал(а) OlegIT - 6.3.2020, 15:53
PM MAIL   Вверх
kapbepucm
Дата 11.3.2020, 16:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 993
Регистрация: 14.6.2007
Где: Латвия

Репутация: нет
Всего: 12



На стадии компиляции "консольная программа" ещё не запущена, она ничего не может ещё узнать smile
Но, тем не меннее, компилятор может узнать свой родительский процесс, и, если он чемто не удовлетворяет или удовлетворяет, выполнять #ifdef. В таком случае проще будет дёргать чтото платформозависимое, я думаю.
Ещё вопрос, что подразумевается под словом "терминал" в вашем случае?

Это сообщение отредактировал(а) kapbepucm - 11.3.2020, 16:12


--------------------
(С) kapbepucm
PM MAIL Skype   Вверх
OlegIT
Дата 11.3.2020, 20:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 683
Регистрация: 5.4.2006

Репутация: нет
Всего: нет



Под терминалом я понимаю то, что обвёл красным эллипсом на картинке.
Не представляю пока, что можно такое проверить "платформозависимое".

Это сообщение отредактировал(а) OlegIT - 11.3.2020, 20:46

Присоединённый файл ( Кол-во скачиваний: 8 )
Присоединённый файл  1.png 24,71 Kb
PM MAIL   Вверх
kapbepucm
Дата 13.3.2020, 13:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 993
Регистрация: 14.6.2007
Где: Латвия

Репутация: нет
Всего: 12



Предположу, что флажок, который на картинке отвечает за "запуск в терминале" относится к запуску уже скомпилированной программы, то есть это не удовлетворяет условию, что проверка должна происходить до или во время компиляции.


--------------------
(С) kapbepucm
PM MAIL Skype   Вверх
OlegIT
Дата 13.3.2020, 15:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 683
Регистрация: 5.4.2006

Репутация: нет
Всего: нет



А как же тогда программа работает без криэйтора, собрал с терминалом запускается в терминале, без терминала, фоново работает.
Кстати, если запускать программу без терминала то в диспетчере её не видна, но программа работает.

PM MAIL   Вверх
kapbepucm
Дата 13.3.2020, 17:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 993
Регистрация: 14.6.2007
Где: Латвия

Репутация: нет
Всего: 12



Цитата(OlegIT @  13.3.2020,  15:27 Найти цитируемый пост)
А как же тогда программа работает без криэйтора, собрал с терминалом запускается в терминале, без терминала, фоново работает.

Зависит от строки в *.pro файле
Код
CONFIG += console


Цитата(OlegIT @  13.3.2020,  15:27 Найти цитируемый пост)
если запускать программу без терминала то в диспетчере её не видна
По идее такого быть не должно, хотя, говорят, для windows это нормально не знать о всех процессах smile

Это сообщение отредактировал(а) kapbepucm - 13.3.2020, 17:36


--------------------
(С) kapbepucm
PM MAIL Skype   Вверх
OlegIT
Дата 13.3.2020, 20:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 683
Регистрация: 5.4.2006

Репутация: нет
Всего: нет



Нет у меня такого
Цитата

Зависит от строки в *.pro файле
Код

CONFIG += console


только
CONFIG += mobility
и
CONFIG(debug, debug|release) {
...}
От установки или снятия флажка pro файл не меняется.
PM MAIL   Вверх
kapbepucm
Дата 17.3.2020, 10:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 993
Регистрация: 14.6.2007
Где: Латвия

Репутация: нет
Всего: 12



Какая операционная система используется? Какая версия creator? Есть ли возможность собрать проект без использования creator?


--------------------
(С) kapbepucm
PM MAIL Skype   Вверх
OlegIT
Дата 18.3.2020, 08:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 683
Регистрация: 5.4.2006

Репутация: нет
Всего: нет



Windows 10 Pro   64 bit, Qt Creator 4.8.2, Qt 5.12.2.
Цитата

Есть ли возможность собрать проект без использования creator?

Так по Windows ни когда не работал, под Linux немного когда-то пробовал, но уже довольно давно работаю с Qt и командную строку успел хорошо забыть:)
PM MAIL   Вверх
kapbepucm
Дата 18.3.2020, 15:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 993
Регистрация: 14.6.2007
Где: Латвия

Репутация: нет
Всего: 12



Цитата(OlegIT @  18.3.2020,  08:24 Найти цитируемый пост)
Windows 10 Pro   64 bit, Qt Creator 4.8.2, Qt 5.12.2.
К сожалению, воспроизвести нет возможности, так как нет машин с подобным софтом :(
В своих windows проектах использую 
Цитата(kapbepucm @  13.3.2020,  17:30 Найти цитируемый пост)
CONFIG += console
если требуется консольный ввод/вывод.


--------------------
(С) kapbepucm
PM MAIL Skype   Вверх
OlegIT
Дата 18.3.2020, 15:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 683
Регистрация: 5.4.2006

Репутация: нет
Всего: нет



Переделал программу, получил
Цитата

CONFIG += c++11 console
CONFIG -= app_bundle

Но всё одно, от установки/снятия флажка ни чего не меняется.

Это сообщение отредактировал(а) OlegIT - 20.3.2020, 08:47
PM MAIL   Вверх
xiaofeifei131
Дата 25.5.2020, 20:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 25.5.2020

Репутация: нет
Всего: нет




Модератор: Сообщение скрыто.

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets"
JackYF
Любитель
  • В заголовке темы в квадратных скобках обозначьте используемую вами библиотеку, например: [QT],[GTK],[wx].
  • Если вопрос актуален только для некоторой версии библиотеки, либо, если вы пользуетесь не самой последней версией, укажите это. Например: [QT4], [GTK2].
  • Все начинающие изучать Qt - не забудьте зайти сюда.
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • В вопросе укажите полную версию версию библиотеки, а также все дополнительные используемые программные пакеты.
  • Не забывайте пользоваться кнопкой "Код".
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема »


 




[ Время генерации скрипта: 0.1449 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.