LINUX.ORG.RU

[Qt] Код зависимый от операционной системы

 


0

0

В Qt-проекте есть участки кода, которые зависят от ОС. Под Linux код компилируется с помощью gcc (creator, qmake, gcc), под вендой VS2005 (vs2005, vs-integration).

Как в данных условиях сделать так, что бы при компиляции под Windows компилировался один участок, но не компилировался другой, а под Linux наоборот?

#if defined(Q_OS_LINUX)
…
#elif defined(Q_OS_DARWIN)
…
#elif defined(Q_OS_UNIX)
…
#elif defined(Q_OS_WIN32)
…
#else
…
#endif
…
etc

arsi ★★★★★
()

Если отличия небольшие, то можно сделать хедер для каждой ОС, в котором описать несколько static inline функций. Если отличия более толстые, то хедер один, но "реализаций хедера" несколько. Во втором случае даже можно выбор нужного модуля делать в .pro.

const86 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.