Russian Qt Forum

Qt => Общие вопросы => Тема начата: n4ela от Январь 25, 2010, 14:32



Название: Q_WS_* Не компилируется.
Отправлено: n4ela от Январь 25, 2010, 14:32
Пытаюсь разобраться как писать код для разных ОС.
Пишу вот так:
Код
C++ (Qt)
#if defined(Q_WS_WIN)
   qDebug() << QDir::homePath() + QDir::separator();
#else
   qDebug() << QDir::homePath() + QDir::separator();
#endif
 
Компилятор выдает ошибку: error: invalid preprocessing directive #difine
В заголовочном файле подключены QtCore и QtGui.
Система сборки CMake, может там надо какие то параметры задать.
И еще не понятно чем отличается Q_WS_WIN от Q_OS_WIN32


Название: Re: Q_WS_* Не компилируется.
Отправлено: BlackTass от Январь 25, 2010, 14:46
Код:
error: invalid preprocessing directive #difine
именно так и выводит? значит вы где-то опечатались когда свои дефайны задавали.

WS от OS отличается тем, что первое это графическая система, второе это операционная система. Например, если вам нужно разделить код для 32битной и 64битной винды, то надо использовать OS макросы.


Название: Re: Q_WS_* Не компилируется.
Отправлено: n4ela от Январь 25, 2010, 14:55
Спасибо.
Моя невнимательность меня погубит, действительно совсем в другом месте опечатался.