![]() |
|
![]() ![]() ![]() |
|
OlegIT |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 684 Регистрация: 5.4.2006 Репутация: нет Всего: нет |
Как в консольной программе узнать (на стадии компиляции, через #ifdef) запущена она в терминале или нет?
Это сообщение отредактировал(а) OlegIT - 6.3.2020, 15:53 |
|||
|
||||
kapbepucm |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 993 Регистрация: 14.6.2007 Где: Латвия Репутация: нет Всего: 12 |
На стадии компиляции "консольная программа" ещё не запущена, она ничего не может ещё узнать
![]() Но, тем не меннее, компилятор может узнать свой родительский процесс, и, если он чемто не удовлетворяет или удовлетворяет, выполнять #ifdef. В таком случае проще будет дёргать чтото платформозависимое, я думаю. Ещё вопрос, что подразумевается под словом "терминал" в вашем случае? Это сообщение отредактировал(а) kapbepucm - 11.3.2020, 16:12 -------------------- (С) kapbepucm |
|||
|
||||
OlegIT |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 684 Регистрация: 5.4.2006 Репутация: нет Всего: нет |
Под терминалом я понимаю то, что обвёл красным эллипсом на картинке.
Не представляю пока, что можно такое проверить "платформозависимое". Это сообщение отредактировал(а) OlegIT - 11.3.2020, 20:46 Присоединённый файл ( Кол-во скачиваний: 9 ) ![]() |
|||
|
||||
kapbepucm |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 993 Регистрация: 14.6.2007 Где: Латвия Репутация: нет Всего: 12 |
Предположу, что флажок, который на картинке отвечает за "запуск в терминале" относится к запуску уже скомпилированной программы, то есть это не удовлетворяет условию, что проверка должна происходить до или во время компиляции.
-------------------- (С) kapbepucm |
|||
|
||||
OlegIT |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 684 Регистрация: 5.4.2006 Репутация: нет Всего: нет |
А как же тогда программа работает без криэйтора, собрал с терминалом запускается в терминале, без терминала, фоново работает.
Кстати, если запускать программу без терминала то в диспетчере её не видна, но программа работает. |
|||
|
||||
kapbepucm |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 993 Регистрация: 14.6.2007 Где: Латвия Репутация: нет Всего: 12 |
Зависит от строки в *.pro файле
![]() Это сообщение отредактировал(а) kapbepucm - 13.3.2020, 17:36 -------------------- (С) kapbepucm |
||||||
|
|||||||
OlegIT |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 684 Регистрация: 5.4.2006 Репутация: нет Всего: нет |
Нет у меня такого
только CONFIG += mobility и CONFIG(debug, debug|release) { ...} От установки или снятия флажка pro файл не меняется. |
||||
|
|||||
kapbepucm |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 993 Регистрация: 14.6.2007 Где: Латвия Репутация: нет Всего: 12 |
Какая операционная система используется? Какая версия creator? Есть ли возможность собрать проект без использования creator?
-------------------- (С) kapbepucm |
|||
|
||||
OlegIT |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 684 Регистрация: 5.4.2006 Репутация: нет Всего: нет |
Windows 10 Pro 64 bit, Qt Creator 4.8.2, Qt 5.12.2.
Так по Windows ни когда не работал, под Linux немного когда-то пробовал, но уже довольно давно работаю с Qt и командную строку успел хорошо забыть:) |
|||
|
||||
kapbepucm |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 993 Регистрация: 14.6.2007 Где: Латвия Репутация: нет Всего: 12 |
К сожалению, воспроизвести нет возможности, так как нет машин с подобным софтом :(
В своих windows проектах использую если требуется консольный ввод/вывод. -------------------- (С) kapbepucm |
|||
|
||||
OlegIT |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 684 Регистрация: 5.4.2006 Репутация: нет Всего: нет |
Переделал программу, получил
Но всё одно, от установки/снятия флажка ни чего не меняется. Это сообщение отредактировал(а) OlegIT - 20.3.2020, 08:47 |
|||
|
||||
xiaofeifei131 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 25.5.2020 Репутация: нет Всего: нет |
Модератор: Сообщение скрыто. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |