Что означает *= в файле .pro?

Я пытаюсь собрать qtdemo на Windows и почти сделал это, но есть проблема с примерами qtquick. Я думаю, что это начинается в файле qtdemo.pro, в этой части:

contains(QT_CONFIG, quick1) {
    QT += quick1
} else {
    DEFINES *= QT_NO_DECLARATIVE
}

Он всегда устанавливает QT_NO_DECLARATIVE, поэтому программа выдает ошибку и не запускает пример. Я искал, что означает оператор '*=', но нигде не мог его найти. Кто-нибудь знает? Они всегда говорили о += и -=, но *= вообще не упоминается...


person Community    schedule 01.02.2013    source источник


Ответы (1)


Из документов:

Оператор *= добавляет значение в список значений переменной, но только если оно еще не присутствует. Это предотвращает многократное включение значений в переменную.

person cmannett85    schedule 01.02.2013
comment
Спасибо. Я искал его вчера в течение некоторого времени. Не знаю, почему я не нашел его в документах. Спасибо :) - person ; 01.02.2013
comment
Я не проверял документы версии 5.0, но начиная с версии 4.8 документы qmake плохо изложены по сравнению с документацией по API. Это позор, потому что qmake на самом деле довольно мощный. - person cmannett85; 01.02.2013
comment
Это не имеет значения, потому что я сейчас собираю Qt 4.8, потому что 5.0 не поддерживает QtQuick2.0 в дизайнере, а я абсолютный новичок в Qt, поэтому 4.8, возможно, будет более полезным. Я использовал OpenCV, поэтому я привык к его документам. Вот в Qt мне иногда сложно что-то найти, но надеюсь наберусь опыта. - person ; 01.02.2013