Russian Qt Forum
Апрель 26, 2024, 18:39 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Почему в *.pro файле не срабатывает else для greaterThan() ?  (Прочитано 5038 раз)
xintrea
Супер активный житель
*****
Offline Offline

Сообщений: 754



Просмотр профиля WWW
« : Апрель 22, 2016, 21:21 »

Написал в *.pro файле такую конструкцию:

Код:
# Enable C++11
greaterThan(QT_MAJOR_VERSION, 4)
{
  CONFIG += c++11
} else {                              <----- Это строка №17
  QMAKE_CXXFLAGS += -std=c++11
}

И при вызове qmake выдается такая ошибка:

Код:
project.pro:17: Unexpected 'else'.

Смотрю в документацию:
http://doc.qt.io/qt-5/qmake-test-function-reference.html

Ничего толком не написано для greaterThan() и похожей на нее функции проверки equals(). Но для equals() там же есть пример:

Код:
equals(TEMPLATE, subdirs) {
    prepareRecursiveTarget(check)
} else {
    check.commands = echo hello user
}

То есть у функций проверок условий вроде как должна быть возможность задания альтернативной ветки.

И в интернете вижу что альтернативное условие для greaterThan() можно задавать, например тут:
http://stackoverflow.com/questions/16948382/how-to-enable-c11-in-qt-creator

Но у меня оно не работает. Почему? Версия Qt 5.4.2.
Записан

Собираю информацию по крупицам
http://webhamster.ru
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4727



Просмотр профиля WWW
« Ответ #1 : Апрель 22, 2016, 21:47 »

{ должна находиться на строке с условием
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
panAlexey
Гипер активный житель
*****
Offline Offline

Сообщений: 864

Акцио ЗАРПЛАТА!!!!! :(


Просмотр профиля
« Ответ #2 : Апрель 23, 2016, 20:12 »

{ должна находиться на строке с условием
Фигово, когда такие ограничения.
Поставил лишний перевод строки и привет - бага.
Ненадежно.
Записан

Win Xp SP-2, Qt4.3.4/MinGW. http://trdm.1gb.ru/
Bepec
Гость
« Ответ #3 : Апрель 23, 2016, 22:01 »

Зато быстро и удобно кодиться Веселый
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4349



Просмотр профиля
« Ответ #4 : Апрель 23, 2016, 22:03 »

Зато быстро и удобно кодиться Веселый
Т.е. если бы таких проколов не было, кодилось бы медленней и неудобней? Улыбающийся
Записан
Bepec
Гость
« Ответ #5 : Апрель 23, 2016, 22:17 »

Угу.
В разы проще закодить "если в строке с условием есть {", чем анализировать следующую строку Веселый
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #6 : Апрель 24, 2016, 19:43 »

это известный косяк qmake, он ещё иногда и к пробелам не равнодушен
Записан

Юра.
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.049 секунд. Запросов: 22.