Qt Serial Port/ru: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
[[:QtSerialPort|English]]<br />| [[:QtSerialPort_German|Deutsch]]<br />| '''Русский'''<br />| [[:QtSerialPort_Polish|Polski]]<br />| [[:QtSerialPort_Dutch|Nederlands]]<br />| [[:QtSerialPort_Portuguese|Português]]<br />| [[:QtSerialPort_Spanish|Español]]<br />| [[:QtSerialPort_Ukrainian|Українською]]<br />| [[:QtSerialPort_Persian|فارسی]]<br />| [[:QtSerialPort_Arabic|عربي]]<br />| [[:QtSerialPort_Korean|한국어]]<br />| [[:QtSerialPort_Finnish|Suomi]]<br />| [[:Wiki Home Catalan|Català]]<br />| [[:Wiki Home Italian|Italiano]]<br />| [[:QtSerialPort_Japanese|日本語]]<br />| [[:QtSerialPort_French|Français]]<br />| [[:Wiki Home Hungarian|Magyar]]<br />| [[:QtSerialPort_Kannada|ಕನ್ನಡ]]<br />| [[:QtSerialPort_Hindi|हिन्दी]]<br />| [[:QtSerialPort_Thai|ภาษาไทย]]<br />| [[:QtSerialPort_SimplifiedChinese|简体中文]]<br />| [[:QtSerialPort_Bulgarian|Български]]
[[:QtSerialPort|English]]
| [[:QtSerialPort_German|Deutsch]]
| '''Русский'''
| [[:QtSerialPort_Polish|Polski]]
| [[:QtSerialPort_Dutch|Nederlands]]
| [[:QtSerialPort_Portuguese|Português]]
| [[:QtSerialPort_Spanish|Español]]
| [[:QtSerialPort_Ukrainian|Українською]]
| [[:QtSerialPort_Persian|فارسی]]
| [[:QtSerialPort_Arabic|عربي]]
| [[:QtSerialPort_Korean|한국어]]
| [[:QtSerialPort_Finnish|Suomi]]
| [[:Wiki Home Catalan|Català]]
| [[:Wiki Home Italian|Italiano]]
| [[:QtSerialPort_Japanese|日本語]]
| [[:QtSerialPort_French|Français]]
| [[:Wiki Home Hungarian|Magyar]]
| [[:QtSerialPort_Kannada|ಕನ್ನಡ]]
| [[:QtSerialPort_Hindi|हिन्दी]]
| [[:QtSerialPort_Thai|ภาษาไทย]]
| [[:QtSerialPort_SimplifiedChinese|简体中文]]
| [[:QtSerialPort_Bulgarian|Български]]


[toc align_right=&quot;yes&amp;quot; depth=&quot;3&amp;quot;]
[toc align_right="yes" depth="3"]


= QtSerialPort =
= QtSerialPort =
Line 25: Line 46:
== История ==
== История ==


Модуль '''QtSerialPort''' берет свое начало из библиотеки &quot;QSerialDevice&amp;quot;:http://gitorious.org/qserialdevice/qserialdevice/trees/2.0 (ветка 2.0), которая недавно была перемещена в репозиторий на https://codereview.qt.io/
Модуль '''QtSerialPort''' берет свое начало из библиотеки "QSerialDevice":http://gitorious.org/qserialdevice/qserialdevice/trees/2.0 (ветка 2.0), которая недавно была перемещена в репозиторий на https://codereview.qt.io/


Это было сделано в надежде на более открытую и свободную разработку, а также на помощь сообщества, которое заинтересовано в развитии данного модуля.
Это было сделано в надежде на более открытую и свободную разработку, а также на помощь сообщества, которое заинтересовано в развитии данного модуля.
Line 39: Line 60:
Поддерживает следующие операционные системы:
Поддерживает следующие операционные системы:


{background:#009900}. |''. Операционная система |''. Поддержка |''. Примечание<br />|<br />|Windows NT/2K/XP/Vista/7<br />|ДА<br />|Полная поддержка<br />|<br />|Windows CE<br />|ДА<br />|Тестировалось только на 5 и 6 платформах в эмуляторе<br />|<br />|Gnu/Linux<br />|ДА<br />|Полная поддержка<br />|<br />|MacOSX<br />|ДА<br />|Полная поддержка<br />|<br />|Другие Unix<br />|ДА<br />|Все POSIX совместимые<br />|<br />|Symbian<ref>Для OS Symbian разработка модуля приостановлена в связи с отсутствием разработчиков, а также с тем фактом, что Nokia отказалась от этой платформы и не будет включать ее поддержку в Qt5._
{background:#009900}. |''. Операционная система |''. Поддержка |''. Примечание
</ref><br />|ДА<br />|Частично, тестировалось только в эмуляторе (*)<br />|
|
|Windows NT/2K/XP/Vista/7
|ДА
|Полная поддержка
|
|Windows CE
|ДА
|Тестировалось только на 5 и 6 платформах в эмуляторе
|
|Gnu/Linux
|ДА
|Полная поддержка
|
|MacOSX
|ДА
|Полная поддержка
|
|Другие Unix
|ДА
|Все POSIX совместимые
|
|Symbian<ref>Для OS Symbian разработка модуля приостановлена в связи с отсутствием разработчиков, а также с тем фактом, что Nokia отказалась от этой платформы и не будет включать ее поддержку в Qt5._
</ref>
|ДА
|Частично, тестировалось только в эмуляторе (*)
|




<br />h3. SerialPortInfo
<br />Класс '''SerialPortInfo''' является вспомогательным. Он позволяет получить информацию о имеющихся в системе последовательных портах.
<br />Поддерживает следующие операционные системы:
<br />{background:#009900}. |''. Операционная система |''. Поддержка |''. Примечание<br />|<br />|Windows NT/2K/XP/Vista/7<br />|ДА<br />|Полная поддержка (с использованием SetupAPI)<br />|<br />|Windows CE<br />|ДА<br />|Тестировалось только на 5 и 6 платформах в эмуляторе<br />|<br />|Gnu/Linux<br />|ДА<br />|Полная поддержка (с использованием libudev или простой перебор в /dev)<br />|<br />|MacOSX<br />|ДА<br />|Полная поддержка<br />|<br />|Другие Unix<br />|ДА<br />|Все POSIX совместимые (только простой перебор в /dev)<br />|<br />|Symbian<ref>Для OS Symbian разработка модуля приостановлена в связи с отсутствием разработчиков, а также с тем фактом, что Nokia отказалась от этой платформы и не будет включать ее поддержку в Qt5._
</ref><br />|ДА<br />|Частично, тестировалось только в эмуляторе (''')<br />|


h3. SerialPortInfo


<br />h2. Просмотр исходного кода
Класс '''SerialPortInfo''' является вспомогательным. Он позволяет получить информацию о имеющихся в системе последовательных портах.
<br />Недавно запущено публичное зеркало репозитория проекта на &quot;Gitorious&amp;quot;:https://qt.gitorious.org/qt/qtserialport
 
<br />Теперь каждый желающий может свободно и оперативно через WEB браузер просмотреть последние изменения в исходном коде проекта.
Поддерживает следующие операционные системы:
<br />h2. Получение исходного кода
 
<br />h3. Для пользователей
{background:#009900}. |''. Операционная система |''. Поддержка |''. Примечание
<br />Для получения текущего снимка исходного кода репозитория в виде архива достаточно из WEB браузера перейти по &quot;этой&amp;quot;:http://qt.gitorious.org/qt/qtserialport/archive-tarball/stable ссылке, загрузка начнется автоматически.
|
<br />Для желающих использовать Git можно выполнить следующую команду:
|Windows NT/2K/XP/Vista/7
<br /><code>git clone git://gitorious.org/qt/qtserialport.git<code>
|ДА
<br />h3. Для разработчиков
|Полная поддержка (с использованием SetupAPI)
<br />Получить исходный код и внести свой вклад в разработку могут только зарегистрированные в Gerrit разработчики, используя Git (&quot;настройка Gerrit&amp;quot;:http://wiki.qt.io/Setting_up_Gerrit).
|
<br />Получить исходный код можно так:
|Windows CE
<br /></code>git clone ssh://&amp;lt;username&amp;gt;</code>codereview.qt.io:29418/qt/qtserialport.git</code>
|ДА
<br />где username - логин зарегистрированного в Gerrit пользователя
|Тестировалось только на 5 и 6 платформах в эмуляторе
<br />h2. Сборка и установка
|
<br />'''''Примечание:''' При сборке лучше использовать &quot;теневую сборку&amp;quot;, когда для результатов сборки используется отдельная директория. Это позволяет оставить директорию с исходными кодами в нетронутом виде, не засоренную продуктами сборки.''
|Gnu/Linux
<br />Перед сборкой необходимо:<br />''' установить Perl<ref>Perl необходим только в случае использования Qt5, подробнее см. &quot;тут&amp;quot;:http://wiki.qt.io/Building_Qt_5_from_Git. При использовании Qt4 просто пропустите этот пункт.
|ДА
</ref><br />* убедиться что корректно настроены переменные окружения:<br />'''''' правильно указаны пути к установленной Qt4/Qt5<br />'''''' правильно указаны пути к используемым компиляторам<br />'''''' правильно указаны пути к Perl<ref>Perl необходим только в случае использования Qt5, подробнее см. &quot;тут&amp;quot;:http://wiki.qt.io/Building_Qt_5_from_Git. При использовании Qt4 просто пропустите этот пункт.
|Полная поддержка (с использованием libudev или простой перебор в /dev)
</ref><br />* предварительно создать директорию для сборки которая находится на том же уровне, что и директория с исходными кодами<br /><code><br />/<br />|- /serialport-src<br />|- /serialport-build<br /></code>
|
|MacOSX
|ДА
|Полная поддержка
|
|Другие Unix
|ДА
|Все POSIX совместимые (только простой перебор в /dev)
|
|Symbian<ref>Для OS Symbian разработка модуля приостановлена в связи с отсутствием разработчиков, а также с тем фактом, что Nokia отказалась от этой платформы и не будет включать ее поддержку в Qt5._
</ref>
|ДА
|Частично, тестировалось только в эмуляторе (''')
|
 
 
 
h2. Просмотр исходного кода
 
Недавно запущено публичное зеркало репозитория проекта на "Gitorious":https://qt.gitorious.org/qt/qtserialport
 
Теперь каждый желающий может свободно и оперативно через WEB браузер просмотреть последние изменения в исходном коде проекта.
 
h2. Получение исходного кода
 
h3. Для пользователей
 
Для получения текущего снимка исходного кода репозитория в виде архива достаточно из WEB браузера перейти по "этой":http://qt.gitorious.org/qt/qtserialport/archive-tarball/stable ссылке, загрузка начнется автоматически.
 
Для желающих использовать Git можно выполнить следующую команду:
 
<code>git clone git://gitorious.org/qt/qtserialport.git<code>
 
h3. Для разработчиков
 
Получить исходный код и внести свой вклад в разработку могут только зарегистрированные в Gerrit разработчики, используя Git ("настройка Gerrit":http://wiki.qt.io/Setting_up_Gerrit).
 
Получить исходный код можно так:
 
</code>git clone ssh://<username>@codereview.qt.io:29418/qt/qtserialport.git</code>
 
где username - логин зарегистрированного в Gerrit пользователя
 
h2. Сборка и установка
 
'''''Примечание:''' При сборке лучше использовать "теневую сборку", когда для результатов сборки используется отдельная директория. Это позволяет оставить директорию с исходными кодами в нетронутом виде, не засоренную продуктами сборки.''
 
Перед сборкой необходимо:
''' установить Perl<ref>Perl необходим только в случае использования Qt5, подробнее см. "тут":http://wiki.qt.io/Building_Qt_5_from_Git. При использовании Qt4 просто пропустите этот пункт.
</ref>
* убедиться что корректно настроены переменные окружения:
'''''' правильно указаны пути к установленной Qt4/Qt5
'''''' правильно указаны пути к используемым компиляторам
'''''' правильно указаны пути к Perl<ref>Perl необходим только в случае использования Qt5, подробнее см. "тут":http://wiki.qt.io/Building_Qt_5_from_Git. При использовании Qt4 просто пропустите этот пункт.
</ref>
* предварительно создать директорию для сборки которая находится на том же уровне, что и директория с исходными кодами
<code>
/
|- /serialport-src
|- /serialport-build
</code>


Ниже приведены рекомендуемые процедуры сборки библиотеки для Qt4/Qt5.
Ниже приведены рекомендуемые процедуры сборки библиотеки для Qt4/Qt5.


<code><br />cd serialport-build<br />qmake ../serialport-src/qtserialport.pro<br />make [или 'nmake' для MSVC компилятора, или 'mingw32-make' для MinGW компилятора]<br />make install [или 'nmake install' для MSVC компилятора, или 'mingw32-make install' для MinGW компилятора]<br /></code>
<code>
cd serialport-build
qmake ../serialport-src/qtserialport.pro
make [или 'nmake' для MSVC компилятора, или 'mingw32-make' для MinGW компилятора]
make install [или 'nmake install' для MSVC компилятора, или 'mingw32-make install' для MinGW компилятора]
</code>


'''''Примечание:''' В *nix системах для установки возможно потребуются права суперпользователя:''<br /><code><br />sudo make install<br /></code>
'''''Примечание:''' В *nix системах для установки возможно потребуются права суперпользователя:''
<code>
sudo make install
</code>


== Использование ==
== Использование ==
Line 81: Line 191:
=== Qt4 ===
=== Qt4 ===


<code><br />CONFIG ''= serialport<br /></code>
<code>
<br />h3. Qt5
CONFIG ''= serialport
<br /><code><br />QT''= serialport<br /></code>
</code>
 
h3. Qt5
 
<code>
QT''= serialport
</code>


Подключение заголовочных файлов от '''QtSerialPort''' в пользовательский проект для Qt4 и Qt5 одинаковое:<br /><code><br /><br />#include &lt;QtSerialPort/QSerialPort&amp;gt;<br />#include &lt;QtSerialPort/QSerialPortInfo&amp;gt;<br />…<br /></code>
Подключение заголовочных файлов от '''QtSerialPort''' в пользовательский проект для Qt4 и Qt5 одинаковое:
<code>
#include <QtSerialPort/QSerialPort>
#include <QtSerialPort/QSerialPortInfo>
</code>


=== Простой пример ===
=== Простой пример ===


Ниже представлен простейший пример реализации ''main.cpp'':<br /><code><br />#include &lt;QtCore/QCoreApplication&amp;gt;<br />#include &lt;QtCore/QDebug&amp;gt;
Ниже представлен простейший пример реализации ''main.cpp'':
<code>
#include <QtCore/QCoreApplication>
#include <QtCore/QDebug>


#include &lt;QtSerialPort/QSerialPort&amp;gt;<br />#include &lt;QtSerialPort/QSerialPortInfo&amp;gt;
#include <QtSerialPort/QSerialPort>
#include <QtSerialPort/QSerialPortInfo>


QT_USE_NAMESPACE
QT_USE_NAMESPACE


int main(int argc, char *argv[])<br />{<br /> QCoreApplication a(argc, argv);
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);


// Example use SerialPortInfo<br /> foreach (const SerialPortInfo &amp;info, SerialPortInfo::availablePorts()) {<br /> qDebug() &lt;&lt; &quot;Name : &quot; &lt;&lt; info.portName();<br /> qDebug() &lt;&lt; &quot;Description : &quot; &lt;&lt; info.description();<br /> qDebug() &lt;&lt; &quot;Manufacturer: &quot; &lt;&lt; info.manufacturer();
// Example use SerialPortInfo
foreach (const SerialPortInfo &amp;info, SerialPortInfo::availablePorts()) {
qDebug() << "Name : " << info.portName();
qDebug() << "Description : " << info.description();
qDebug() << "Manufacturer: " << info.manufacturer();


// Example use SerialPort<br /> SerialPort serial;<br /> serial.setPort(info);<br /> if (serial.open(QIODevice::ReadWrite))<br /> serial.close();<br /> }
// Example use SerialPort
SerialPort serial;
serial.setPort(info);
if (serial.open(QIODevice::ReadWrite))
serial.close();
}


return a.exec&amp;amp;#40;&amp;#41;;<br />}<br /></code>
return a.exec();
}
</code>


== Генерация документации ==
== Генерация документации ==


Нет необходимости в сборке документации, потому что текущий снимок документации находится &quot;тут&amp;quot;:http://doc-snapshot.qt.io/qt5-stable/qtserialport/qtserialport-index.html.
Нет необходимости в сборке документации, потому что текущий снимок документации находится "тут":http://doc-snapshot.qt.io/qt5-stable/qtserialport/qtserialport-index.html.


== Для желающих принять участие в разработке ==
== Для желающих принять участие в разработке ==


Вся разработка ведется через &quot;Gerrit&amp;quot;:http://wiki.qt.io/Setting_up_Gerrit, поэтому желающие включиться в процесс разработки должны иметь там учетную запись.
Вся разработка ведется через "Gerrit":http://wiki.qt.io/Setting_up_Gerrit, поэтому желающие включиться в процесс разработки должны иметь там учетную запись.


Подробнее о процессе регистрации и разработки можно прочитать &quot;здесь&amp;quot;:http://wiki.qt.io/Code_Reviews
Подробнее о процессе регистрации и разработки можно прочитать "здесь":http://wiki.qt.io/Code_Reviews


== Возможные проблемы ==
== Возможные проблемы ==

Revision as of 08:42, 25 February 2015

English | Deutsch | Русский | Polski | Nederlands | Português | Español | Українською | فارسی | عربي | 한국어 | Suomi | Català | Italiano | 日本語 | Français | Magyar | ಕನ್ನಡ | हिन्दी | ภาษาไทย | 简体中文 | Български

[toc align_right="yes" depth="3"]

QtSerialPort

Примечание: Эта страница в стадии разработки, требует пересмотра.

Новости

Заполнить

26.02.2013 - Проект перемещен из песочницы в основную ветвь Qt5!

Краткое описание

Модуль QtSerialPort - это дополнение к библиотеке Qt5, которое предоставляет единый интерфейс для работы как аппаратными, так и с виртуальными последовательными портами.

Примечание: Также добавлена поддержка и библиотеки Qt4.

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

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

История

Модуль QtSerialPort берет свое начало из библиотеки "QSerialDevice":http://gitorious.org/qserialdevice/qserialdevice/trees/2.0 (ветка 2.0), которая недавно была перемещена в репозиторий на https://codereview.qt.io/

Это было сделано в надежде на более открытую и свободную разработку, а также на помощь сообщества, которое заинтересовано в развитии данного модуля.

Функциональность

В настоящее время API модуля содержит два класса SerialPort и SerialPortInfo.

SerialPort

Класс SerialPort является основным классом модуля и предоставляет набор основных методов и свойств для доступа к ресурсам последовательных портов.

Поддерживает следующие операционные системы:

{background:#009900}. |. Операционная система |. Поддержка |. Примечание | |Windows NT/2K/XP/Vista/7 |ДА |Полная поддержка | |Windows CE |ДА |Тестировалось только на 5 и 6 платформах в эмуляторе | |Gnu/Linux |ДА |Полная поддержка | |MacOSX |ДА |Полная поддержка | |Другие Unix |ДА |Все POSIX совместимые | |Symbian[1] |ДА |Частично, тестировалось только в эмуляторе (*) |


h3. SerialPortInfo

Класс SerialPortInfo является вспомогательным. Он позволяет получить информацию о имеющихся в системе последовательных портах.

Поддерживает следующие операционные системы:

{background:#009900}. |. Операционная система |. Поддержка |. Примечание | |Windows NT/2K/XP/Vista/7 |ДА |Полная поддержка (с использованием SetupAPI) | |Windows CE |ДА |Тестировалось только на 5 и 6 платформах в эмуляторе | |Gnu/Linux |ДА |Полная поддержка (с использованием libudev или простой перебор в /dev) | |MacOSX |ДА |Полная поддержка | |Другие Unix |ДА |Все POSIX совместимые (только простой перебор в /dev) | |Symbian[2] |ДА |Частично, тестировалось только в эмуляторе () |


h2. Просмотр исходного кода

Недавно запущено публичное зеркало репозитория проекта на "Gitorious":https://qt.gitorious.org/qt/qtserialport

Теперь каждый желающий может свободно и оперативно через WEB браузер просмотреть последние изменения в исходном коде проекта.

h2. Получение исходного кода

h3. Для пользователей

Для получения текущего снимка исходного кода репозитория в виде архива достаточно из WEB браузера перейти по "этой":http://qt.gitorious.org/qt/qtserialport/archive-tarball/stable ссылке, загрузка начнется автоматически.

Для желающих использовать Git можно выполнить следующую команду:

git clone git://gitorious.org/qt/qtserialport.git<code>

h3. Для разработчиков

Получить исходный код и внести свой вклад в разработку могут только зарегистрированные в Gerrit разработчики, используя Git ("настройка Gerrit":http://wiki.qt.io/Setting_up_Gerrit).

Получить исходный код можно так:

git clone ssh://<username>@codereview.qt.io:29418/qt/qtserialport.git

где username - логин зарегистрированного в Gerrit пользователя

h2. Сборка и установка

Примечание: При сборке лучше использовать "теневую сборку", когда для результатов сборки используется отдельная директория. Это позволяет оставить директорию с исходными кодами в нетронутом виде, не засоренную продуктами сборки.

Перед сборкой необходимо: установить Perl[3]

  • убедиться что корректно настроены переменные окружения:

' правильно указаны пути к установленной Qt4/Qt5 ' правильно указаны пути к используемым компиляторам ' правильно указаны пути к Perl[4]

  • предварительно создать директорию для сборки которая находится на том же уровне, что и директория с исходными кодами
/
|- /serialport-src
|- /serialport-build

Ниже приведены рекомендуемые процедуры сборки библиотеки для Qt4/Qt5.

cd serialport-build
qmake ../serialport-src/qtserialport.pro
make [или 'nmake' для MSVC компилятора, или 'mingw32-make' для MinGW компилятора]
make install [или 'nmake install' для MSVC компилятора, или 'mingw32-make install' для MinGW компилятора]

Примечание: В *nix системах для установки возможно потребуются права суперпользователя:

sudo make install

Использование

При использовании библиотеки необходимо ее подключить в *.pro файл пользовательского проекта, это действие для Qt4 и Qt5 немного отличается:

Qt4

CONFIG ''= serialport

h3. Qt5

QT''= serialport

Подключение заголовочных файлов от QtSerialPort в пользовательский проект для Qt4 и Qt5 одинаковое:


#include <QtSerialPort/QSerialPort>
#include <QtSerialPort/QSerialPortInfo>

Простой пример

Ниже представлен простейший пример реализации main.cpp:

#include <QtCore/QCoreApplication>
#include <QtCore/QDebug>

#include <QtSerialPort/QSerialPort>
#include <QtSerialPort/QSerialPortInfo>

QT_USE_NAMESPACE

int main(int argc, char *argv[])
{
 QCoreApplication a(argc, argv);

// Example use SerialPortInfo
 foreach (const SerialPortInfo &amp;info, SerialPortInfo::availablePorts()) {
 qDebug() << "Name : " << info.portName();
 qDebug() << "Description : " << info.description();
 qDebug() << "Manufacturer: " << info.manufacturer();

// Example use SerialPort
 SerialPort serial;
 serial.setPort(info);
 if (serial.open(QIODevice::ReadWrite))
 serial.close();
 }

return a.exec();
}

Генерация документации

Нет необходимости в сборке документации, потому что текущий снимок документации находится "тут":http://doc-snapshot.qt.io/qt5-stable/qtserialport/qtserialport-index.html.

Для желающих принять участие в разработке

Вся разработка ведется через "Gerrit":http://wiki.qt.io/Setting_up_Gerrit, поэтому желающие включиться в процесс разработки должны иметь там учетную запись.

Подробнее о процессе регистрации и разработки можно прочитать "здесь":http://wiki.qt.io/Code_Reviews

Возможные проблемы

Заполнить

Отслеживание ошибок

  1. Для OS Symbian разработка модуля приостановлена в связи с отсутствием разработчиков, а также с тем фактом, что Nokia отказалась от этой платформы и не будет включать ее поддержку в Qt5._
  2. Для OS Symbian разработка модуля приостановлена в связи с отсутствием разработчиков, а также с тем фактом, что Nokia отказалась от этой платформы и не будет включать ее поддержку в Qt5._
  3. Perl необходим только в случае использования Qt5, подробнее см. "тут":http://wiki.qt.io/Building_Qt_5_from_Git. При использовании Qt4 просто пропустите этот пункт.
  4. Perl необходим только в случае использования Qt5, подробнее см. "тут":http://wiki.qt.io/Building_Qt_5_from_Git. При использовании Qt4 просто пропустите этот пункт.