QmakeCFLAGS: различия между версиями

Материал из ALT Linux Wiki
м (+категория)
Нет описания правки
 
Строка 1: Строка 1:
[[Category:Devel]]
[[Category:Devel]]
[[категория:Программисту]]


{{MovedFromFreesourceInfo|AltLinux/Sisyphus/devel/qmakeCFLAGS}}
{{MovedFromFreesourceInfo|AltLinux/Sisyphus/devel/qmakeCFLAGS}}
Строка 11: Строка 10:
     echo "QMAKE_CXXFLAGS_RELEASE = %optflags" >> "$FILE"
     echo "QMAKE_CXXFLAGS_RELEASE = %optflags" >> "$FILE"
     echo "QMAKE_CFLAGS_RELEASE = %optflags" >> "$FILE"; done</pre>
     echo "QMAKE_CFLAGS_RELEASE = %optflags" >> "$FILE"; done</pre>
{{Category navigation|title=Программисту|category=Программисту|sortkey={{SUBPAGENAME}}}}

Текущая версия от 16:30, 2 июля 2015


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