Замечания по компиляторам
Данная страница содержит информацию о компиляторах C++ и инструментах, используемых для сборки Qt на различных платформах.
Пожалуйста, обратитесь к Замечаниям по платформам за информацией о платформах, на которых в настоящее время Qt можно запустить.
Если у вас есть что-либо добавить в этот список или какой-либо платформы или на страницу компилятора, пожалуйста передайте это через Форму отчета об ошибке.
GCC (большинство платформ)
Nokia поддерживает сборку Qt с помощью gcc 3.2 и старше. Более старые версии gcc не рекомендуются и не поддерживаются Nokia. Они могут работать или не работать.
GCC под Windows (MinGW)
Мы тестировали Qt с этим компилятором на Windows 2000 и Windows XP. Минимальная поддерживаемая версия MinGW:
- gcc 3.4.2
- mingw runtime 3.7
- win32api 3.2
- binutils 2.15.91
- mingw32-make 3.80.0-3
gcc 4.0.0
Выпущенный пакет компилятора содержит несколько ошибок, которые приводят к ошибкам компиляции. Мы рекомендуем использовать gcc 4.0.1 или старше, или использовать свежий срез CVS ветки gcc 4.0. Версия gcc 4.0.0, которая идет вместе с Mac OS X 10.4 "Tiger", работает с Qt для Mac OS X.
HP-UX
Платформа hpux-g++ тестировалась с gcc 3.4.3.
Solaris
Пожалуйста, используйте gcc 3.3.0 или старше.
Mac OS X
Пожалуйста, используйте самую последнюю версию gcc 3.3 от Apple или старше. gcc 3.3, который поставляется вместе с Xcode 1.5, генерирует код с дефектом, используйте исправление GCC 3.3 за ноябрь 2004, доступное в Apple.
gcc (GCC) 3.4.6 (Debian 3.4.6-5) на AMD64 (x86_64)
При создании релиз-сборки этот компилятор компилирует с ошибкой некоторые части Qt. Имеется несколько методов обхода:
- Используйте отладочную сборку.
- Для каждой встретившейся ошибки компиляции перекомплируйте файл без опции -O2.
- Добавьте -fno-gcse в QMAKE_CXXFLAGS_RELEASE.
HP ANSI C++ (aCC)
Платформы hpux-acc-32 и hpux-acc-64 тестировались с aCC A.03.57. Платформы hpuxi-acc-32 и hpuxi-acc-64 тестировались с aCC A.06.12.
Intel C++ Compiler
Intel C++ Compiler для Linux
В настоящее время Nokia тестирует следующие компиляторы:
- Intel(R) C++ Compiler для приложений, запускаемых на IA-32, версия 10.1 Build 20080602 Package ID: l_cc_p_10.1.017
- Intel(R) C++ Compiler для приложений, запускаемых на Intel(R) 64, версия 10.1 Build 20080602 Package ID: l_cc_p_10.1.017
В настоящее время мы не тестируем компилятор IA-64 (Itanium).
Известные проблемы с Intel C++ Compiler для Linux
- Поддержка предварительно скомпилированных заголовков не работает в версии 10.0.025 и более старых. Для этих компиляторов вы должны сконфигурировать Qt с опцией -no-pch. Поддержка предварительно скомпилированных заголовков работает в версии 10.0.026 и более поздних.
- В версии 10.0.026 для Intel 64 известна ошибка компиляции qmake при создании релиз-сборки. Пока конфигурируйте Qt с опцией -debug. Версия 10.1.008 и более поздние могут компилировать qmake в режиме релиза.
- Для версий с 10.1.008 по 10.1.015 для IA-32 и Intel 64 известен фатальный сбой с сообщением "(0): internal error: 0_47021" при компиляции QtXmlPatterns, QtWebKitи Designer в режиме релиза. Версия 10.1.017 компилирует эти модули в режиме релиза правильно.
Intel C++ Compiler (Windows, Altix)
Qt 4 был успешно протестирован с:
- Windows - Intel(R) C++ Compiler для 32-битных приложений, версия 8.1 Build 20050309Z Package ID: W_CC_PC_8.1.026
- Altix - Intel(R) C++ Itanium(R) Compiler для приложений базирующихся на Itanium(R) версия 8.1 Build 20050406 Package ID: l_cc_pc_8.1.030
В настоящее время тестируются компилятор Intel только для 32-битных версий Windows.
MIPSpro (IRIX)
Qt 4.x требуется MIPSpro версии 7.4.2m.
Обратите внимание на то, что MIPSpro версии 7.4.4m в настоящее время не поддерживается, так как в ней имеется несколько проблем, которые еще не исправлены. Мы рекомендуем использовать для разработки Qt версию 7.4.2m.
Forte Developer / Sun Studio (Solaris)
Sun Studio
Qt тестировалась с использованием Sun Studio 9 и Sun Studio 10. Перейдите к веб-сайту Sun чтобы скачать последние исправления для вашего компилятора Sun.
Sun WorkShop 5.0
Sun WorkShop 5.0 не поддерживается с Qt 4.
Visual Studio (Windows)
Мы делали большую часть разработки под Windows на Windows XP, используя Microsoft Visual Studio .NET 2003 и Visual Studio 2005 (как 32-, так и 64-битные версии).
Qt работает с Visual Studio 2005 Standard Edition, Professional Edition и Team System Edition.
Мы также тестировали Qt 4 на Windows 98/Me, Windows NT и Windows 2000, с Microsoft Visual C++ 6.0 и Visual Studio .NET.
Для того, чтобы использовать Qt с Visual Studio 2005 Express Edition вам необходимо скачать и установить platform SDK. Из-за ограничений в Express Edition мы не смогли установить Qt Visual Studio Integration. Вам нужно использовать наши инструменты командной строки для сборки приложений Qt с помощью этой редакции.
Visual C++ Linker не понимает имена файлов с пробелами (такие как C:\Program files\Qt\), поэтому переместите её в другое место, или явно установите путь; например:
QTDIR=C:\Progra~1\Qt
Для правильной работы Visual C++ 6.0 с Qt требуется Service Pack 5. Если вы используете Visual C++ версии 6.0 мы настоятельно рекомендуем обновить его до SP5.
Если вы встретите странные проблемы с использованием специальных флагов, модифицирующих выравнивание структуры и членов объединения (таких как /Zp2), тогда вам нужно также перекомпилировать Qt с флагами, установленными для приложения.
Если вы используете Visual Studio .NET Standard Edition, вы должны использовать предоставляемые бинарные пакеты Qt, а не пакеты исходного кода. Так как Standard Edition не оптимизирует компилируемый код, ваша скомпилированная версия Qt будет выполняться квазиоптимально с усреднением по скорости.
В Visual Studio 2005 Service Pack 1 была внесена ошибка, из-за которой не компилируется Qt, что было исправлено заплаткой, доступной в Microsoft. Для получения дополнительной информации смотрите статью в Базе знаний.
IBM xlC (AIX)
Утилита makeC++SharedLib должна быть в вашей переменной PATH и соответствовать сборке разделяемых библиотек. Из Красной книги IBM C and C++ Application Development on AIX:
VisualAge C++ для AIX, версия 6.0
Убедитесь, что установлены последние обновления.
|