Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: voron от Август 09, 2007, 19:56



Название: Условная компиляция в MinGW
Отправлено: voron от Август 09, 2007, 19:56
С помощью mingw-make32 пытаюсь компилировать следующий код:
Код:

#ifdef Q_OS_WIN32
#include <windows.h>
#endif

не получается, соответственно убрав строки #ifdef, #endif - всё чётко.
Есть подозрение, что не выставляется Q_OS_WIN32, подскажите как быть, иначе приходится редактировать код перед компиляцией в Linux и Windows. Спасибо.


Название: Условная компиляция в MinGW
Отправлено: -=QT=- от Август 09, 2007, 20:14
Код:
#ifdef Q_OS_WIN32

#else

#endif

Эта конструкция работает при компиляции 100%
(У меня в коде таких штук 80-90)

Может проблема в #include <windows.h>
я пишу всегда #include "qmysettings.h"
а если модуль то #include <QApplication>

Хотя разницы не вижу.

добавлено спустя 3 минуты:

 Да .... кстати

Есть ли в проекте INCLUDEPATH +=   ./Путь к файлам/Заголовков
И находит windows.h ли он его ????


Название: Re: Условная компиляция в MinGW
Отправлено: pastor от Август 09, 2007, 23:59
Цитата: "voron"

не получается, соответственно убрав строки #ifdef, #endif - всё чётко.
Есть подозрение, что не выставляется Q_OS_WIN32, подскажите как быть, иначе приходится редактировать код перед компиляцией в Linux и Windows. Спасибо.


Попробуй заюзать #include<QtGlobal>. В нем  объявлен этот и другие макросы


Название: Условная компиляция в MinGW
Отправлено: voron от Август 10, 2007, 12:35
Спасибо, pastor. Действительно не хватало: #include <QtGlobal>.