QmakeCFLAGS

Материал из ALT Linux Wiki
Версия от 19:06, 28 июля 2008; YuryAliaev (обсуждение | вклад) (Import from freesource.info)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Freesource-logo.png Blue Glass Arrow.svg MediaWiki logo.png
Эта страница была перемещена с freesource.info.
Эта страница наверняка требует чистки и улучшения — смело правьте разметку и ссылки.
Просьба по окончанию убрать этот шаблон со страницы.


В состав библиотеки Qt входит замечательная программа qmake, которая создаёт Makefile'ы на основании правил, записанных в файлах-описаниях проекта с расширением .pro. Беда состоит в том, что директивы для компилятора qmake берёт из своего собственного файла, /usr/lib/qt3/mkspecs/linux-cxx/qmake.conf. Для сборки пакетов rpm вполне обычно желание использовать стандартные значения %optflags для сборки пакета. Выход состоит в прописывании строчек вида

QMAKE_CXXFLAGS_RELEASE = ...

и

QMAKE_CFLAGS_RELEASE = ...

в .pro файлах. Первая строчка нужна для указания флагов компилятору C++, вторая -- компилятору C. Соответственно, если в проекте все исходники только в С++ или в C, то нужна только одна из этих строчек. Если в проекте имеется несколько файлов .pro, то прописывать флаги компилятора нужно во всех. Из rpm'овского spec'а это удобно делать конструкцией вроде такой:

find . -type f -name '*.pro' | while read FILE; do
    echo "QMAKE_CXXFLAGS_RELEASE = %optflags" >> "$FILE"
    echo "QMAKE_CFLAGS_RELEASE = %optflags" >> "$FILE"; done