Russian Qt Forum

Компиляторы и платформы => Linux => Тема начата: ninjaproger от Ноябрь 01, 2011, 09:43



Название: Как задетектить архитектуру системы и добавить #define
Отправлено: ninjaproger от Ноябрь 01, 2011, 09:43
Всем доброго дня!

Как задетектить на какой архитектуре линукса происходит компиляция (64/32 bit)
и в зависимости от этого добавить #define в исходники?


Название: Re: Как задетектить архитектуру системы и добавить #define
Отправлено: GreatSnake от Ноябрь 01, 2011, 10:34
/* AMD64 / Intel64 / x86_64 64-bit */
#if   defined(__x86_64__)  || defined(_M_X64)

/* i386 / x86 32-bit */
#if   defined(__i386__) \
    || defined(i386)     \
    || defined(_M_IX86)  \
    || defined(_X86_)    \
    || defined(__THW_INTEL)


Название: Re: Как задетектить архитектуру системы и добавить #define
Отправлено: ninjaproger от Ноябрь 02, 2011, 09:26
Огромное спасибо - помогло

Может подскажешь как этого же добиться c помощью qmake
т.е в зависимости от системы (Mac/Linux/Win) автоматически выбирать нужную конфигурацию?


Название: Re: Как задетектить архитектуру системы и добавить #define
Отправлено: GreatSnake от Ноябрь 02, 2011, 10:26
См. Значения области видимости платформы (http://www.doc.crossplatform.ru/qt/4.7.x/qmake-advanced-usage.html#platform-scope-values).


Название: Re: Как задетектить архитектуру системы и добавить #define
Отправлено: ninjaproger от Ноябрь 03, 2011, 09:18
Спасибо!!! То что нужно