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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: предкомпиляторные вставки  (Прочитано 2554 раз)
admsasha
Гость
« : Апрель 30, 2014, 09:03 »

В .pro файл нужно вставить условия от версии gcc, подскажите макроопределения для этого.
Записан
OKTA
Гость
« Ответ #1 : Апрель 30, 2014, 09:13 »

http://gcc.gnu.org/onlinedocs/cpp/Common-Predefined-Macros.html

Почитай, в начале вроде то, что нужно
Код:
__GNUC__
__GNUC_MINOR__
__GNUC_PATCHLEVEL__

или сразу

Код:
__VERSION__
« Последнее редактирование: Апрель 30, 2014, 09:17 от OKTA » Записан
lesav
Частый гость
***
Offline Offline

Сообщений: 235


qnx.org.ru


Просмотр профиля WWW
« Ответ #2 : Апрель 30, 2014, 21:37 »

Я писал скрипт для WHS. В unix-е обошелся средствами qmake
Код:
    contains( MAKEFILE_GENERATOR, MSVC.NET|MSBUILD ): {
        #message($$basename(_FILE_):$$_LINE_ "=== msvc build detected!")
        LIBS    += Advapi32.lib
        DEFINES += WINNT
        QT_BUILDER = msvc
        win32-msvc2005     : QT_BUILDER_VER=2005
        else:win32-msvc2008: QT_BUILDER_VER=2008
        else:win32-msvc2010: QT_BUILDER_VER=2010
        else:win32-msvc2012: QT_BUILDER_VER=2012
        else:                QT_BUILDER_VER=xxxx
        QMAKE_SH =
    } else: {
        contains( MAKEFILE_GENERATOR, MINGW ): {
           #message($$basename(_FILE_):$$_LINE_ "=== mingw build detected!")
           QT_BUILDER = mingw
           !isEmpty(QMAKE_SH) {
               #отлично!  Есть шелл в Windows
               MGW_MAJ = $$system(echo | gcc -dM -E - | grep __GNUC__            | cut -d\" \" -f 3)
               MGW_MIN = $$system(echo | gcc -dM -E - | grep __GNUC_MINOR__      | cut -d\" \" -f 3)
               MGW_PTH = $$system(echo | gcc -dM -E - | grep __GNUC_PATCHLEVEL__ | cut -d\" \" -f 3)
               QT_BUILDER_VER = $$sprintf(%1.%2.%3, $$MGW_MAJ, $$MGW_MIN, $$MGW_PTH)
           } else : {
               # Шелла нет, использовать скрипт
               QT_BUILDER_VER = $$system(cscript.exe /nologo  $$PWD\\tools\\get.gcc.ver.vbs)
           }
        } else: {
           #message($$basename(_FILE_):$$_LINE_ "=== GCC build detected!")
           MGW_MAJ = $$system(echo | gcc -dM -E - | grep __GNUC__            | cut -d\" \" -f 3)
           MGW_MIN = $$system(echo | gcc -dM -E - | grep __GNUC_MINOR__      | cut -d\" \" -f 3)
           MGW_PTH = $$system(echo | gcc -dM -E - | grep __GNUC_PATCHLEVEL__ | cut -d\" \" -f 3)
           QT_BUILDER_VER = $$sprintf(%1.%2.%3, $$MGW_MAJ, $$MGW_MIN, $$MGW_PTH)
           QT_BUILDER = gcc
        }
    }

    QT_BUILDER_VER_SHORT=$$replace(QT_BUILDER_VER, '\\.', "")

    QT_VERSION = $$[QT_VERSION]
    QT_VERSION_SHORT = $$replace(QT_VERSION, '\\.',)

!build_pass:message($$basename(_FILE_):$$_LINE_   SVN_REV=$$QT_BUILDER)
!build_pass:message($$basename(_FILE_):$$_LINE_   SVN_REV=$$QT_BUILDER_VER)
Записан

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


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