Определение платформы

Автор: | 23 июля, 2019

При написании программ бывают случаи, когда нужно воспользоваться платформа зависимым кодом. При компиляции программы под другой платформой возникнут ошибки из-за отсутствия нужных библиотек и функций. Для предотвращения таких ошибок нужно использовать условные разветвления для выполнения платформа зависимого кода. 

В Qt существуют несколько часто использованных определений. К таким определениям можно отнести:

Q_OS_WIN

Определенна для платформ Windows. Можно разделить на Q_OS_WIN32 и Q_OS_WIN64.

Q_OS_UNIX 

Определенна для платформ UNIX.

Q_OS_LINUX

Определенна для платформ LINUX.

Q_OS_FREEBSD

Определенна для платформ FREEBSD.

Q_OS_MACX

Определенна для платформ MAC.

При совпадении платформы данные переменные будут идентифицированы. Данные определения можно использовать в связке #ifdef, #else, #endif.

Пример использования:

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

Полный список определений находится в файле qsystemqdetection.h.