Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > Терминал или нет? |
Автор: OlegIT 6.3.2020, 15:52 |
Как в консольной программе узнать (на стадии компиляции, через #ifdef) запущена она в терминале или нет? |
Автор: kapbepucm 11.3.2020, 16:07 |
На стадии компиляции "консольная программа" ещё не запущена, она ничего не может ещё узнать ![]() Но, тем не меннее, компилятор может узнать свой родительский процесс, и, если он чемто не удовлетворяет или удовлетворяет, выполнять #ifdef. В таком случае проще будет дёргать чтото платформозависимое, я думаю. Ещё вопрос, что подразумевается под словом "терминал" в вашем случае? |
Автор: OlegIT 11.3.2020, 20:46 |
Под терминалом я понимаю то, что обвёл красным эллипсом на картинке. Не представляю пока, что можно такое проверить "платформозависимое". |
Автор: kapbepucm 13.3.2020, 13:57 |
Предположу, что флажок, который на картинке отвечает за "запуск в терминале" относится к запуску уже скомпилированной программы, то есть это не удовлетворяет условию, что проверка должна происходить до или во время компиляции. |
Автор: OlegIT 13.3.2020, 15:27 |
А как же тогда программа работает без криэйтора, собрал с терминалом запускается в терминале, без терминала, фоново работает. Кстати, если запускать программу без терминала то в диспетчере её не видна, но программа работает. |
Автор: OlegIT 13.3.2020, 20:39 | ||||
Нет у меня такого
только CONFIG += mobility и CONFIG(debug, debug|release) { ...} От установки или снятия флажка pro файл не меняется. |
Автор: kapbepucm 17.3.2020, 10:24 |
Какая операционная система используется? Какая версия creator? Есть ли возможность собрать проект без использования creator? |
Автор: OlegIT 18.3.2020, 08:24 | ||
Windows 10 Pro 64 bit, Qt Creator 4.8.2, Qt 5.12.2.
Так по Windows ни когда не работал, под Linux немного когда-то пробовал, но уже довольно давно работаю с Qt и командную строку успел хорошо забыть:) |
Автор: kapbepucm 18.3.2020, 15:44 |
К сожалению, воспроизвести нет возможности, так как нет машин с подобным софтом :( В своих windows проектах использую если требуется консольный ввод/вывод. |
Автор: OlegIT 18.3.2020, 15:46 | ||
Переделал программу, получил
Но всё одно, от установки/снятия флажка ни чего не меняется. |
Автор: xiaofeifei131 25.5.2020, 20:07 |
Модератор: Сообщение скрыто. |