|
|
|
OlegIT |
|
|||
Опытный Профиль Группа: Участник Сообщений: 683 Регистрация: 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 |
|
|||
Опытный Профиль Группа: Участник Сообщений: 683 Регистрация: 5.4.2006 Репутация: нет Всего: нет |
Под терминалом я понимаю то, что обвёл красным эллипсом на картинке.
Не представляю пока, что можно такое проверить "платформозависимое". Это сообщение отредактировал(а) OlegIT - 11.3.2020, 20:46 Присоединённый файл ( Кол-во скачиваний: 9 ) 1.png 24,71 Kb |
|||
|
||||
kapbepucm |
|
|||
Опытный Профиль Группа: Участник Сообщений: 993 Регистрация: 14.6.2007 Где: Латвия Репутация: нет Всего: 12 |
Предположу, что флажок, который на картинке отвечает за "запуск в терминале" относится к запуску уже скомпилированной программы, то есть это не удовлетворяет условию, что проверка должна происходить до или во время компиляции.
-------------------- (С) kapbepucm |
|||
|
||||
OlegIT |
|
|||
Опытный Профиль Группа: Участник Сообщений: 683 Регистрация: 5.4.2006 Репутация: нет Всего: нет |
А как же тогда программа работает без криэйтора, собрал с терминалом запускается в терминале, без терминала, фоново работает.
Кстати, если запускать программу без терминала то в диспетчере её не видна, но программа работает. |
|||
|
||||
kapbepucm |
|
||||||
Опытный Профиль Группа: Участник Сообщений: 993 Регистрация: 14.6.2007 Где: Латвия Репутация: нет Всего: 12 |
Зависит от строки в *.pro файле
Это сообщение отредактировал(а) kapbepucm - 13.3.2020, 17:36 -------------------- (С) kapbepucm |
||||||
|
|||||||
OlegIT |
|
||||
Опытный Профиль Группа: Участник Сообщений: 683 Регистрация: 5.4.2006 Репутация: нет Всего: нет |
Нет у меня такого
только CONFIG += mobility и CONFIG(debug, debug|release) { ...} От установки или снятия флажка pro файл не меняется. |
||||
|
|||||
kapbepucm |
|
|||
Опытный Профиль Группа: Участник Сообщений: 993 Регистрация: 14.6.2007 Где: Латвия Репутация: нет Всего: 12 |
Какая операционная система используется? Какая версия creator? Есть ли возможность собрать проект без использования creator?
-------------------- (С) kapbepucm |
|||
|
||||
OlegIT |
|
|||
Опытный Профиль Группа: Участник Сообщений: 683 Регистрация: 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 |
|
|||
Опытный Профиль Группа: Участник Сообщений: 683 Регистрация: 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. |