2.14. Компиляция и установка библиотеки OpenAL
Описание:
Официальный сайт: http://connect.creativelabs.com/openal/
OpenAL или Open Audio Library, это свободно распространяемая кроссплатформенная библиотека API для работы с аудиоданными. Ключевая особенность – работа со звуком в 3D пространстве и использование эффектов EAX. Библиотека разработана фирмой Loki Software и в настоящий поддерживается компанией Creative.
Сборка:
Внимание!
Для компиляции необходим CMake
2.14.1. Скачиваем последнюю стабильную версию исходников библиотеки OpenAL, на момент написания статьи последняя версия 1.13: openal-soft-1.13.tbz2
2.14.2. Распаковываем скачанный архив в папку “C:\Qt\build\Audio”, исходники библиотеки и утилит должны быть в папке “C:\Qt\build\Audio\openal-soft-1.13”.
2.14.3. Компилируем и устанавливаем библиотеку OpenAL:
Запускаем “C:\Qt\MinGW\msys\1.0\msys.bat” или ConEmu и набираем в консольном окне такие команды:
cd /c/Qt/build/Audio/openal-soft-1.13 cmake -DCMAKE_INSTALL_PREFIX:PATH="/mingw" -DCMAKE_C_FLAGS:STRING="-march=i686" -G "MSYS Makefiles" make make install
2.14.4. Скомпилированные статическая и динамическая библиотеки, заголовочные файлы и утилиты должны скопироваться в соответствующие папки:
Install the project... -- Install configuration: "RelWithDebInfo" -- Installing: C:/Qt/MinGW/lib/libOpenAL32.dll.a -- Installing: C:/Qt/MinGW/bin/OpenAL32.dll -- Installing: C:/Qt/MinGW/include/AL/al.h -- Installing: C:/Qt/MinGW/include/AL/alc.h -- Installing: C:/Qt/MinGW/include/AL/alext.h -- Installing: C:/Qt/MinGW/include/AL/efx.h -- Installing: C:/Qt/MinGW/include/AL/efx-creative.h -- Installing: C:/Qt/MinGW/lib/pkgconfig/openal.pc -- Installing: C:/Qt/MinGW/bin/openal-info.exe
2.15. Компиляция и установка библиотеки ALUT (freealut)
Описание:
Официальный сайт: http://connect.creativelabs.com/openal/
Freealut это свободная реализация стандарта OpenAL’s ALUT.
Сборка:
Внимание!
Для компиляции необходим CMake
Зависимости:
Библиотека OpenAL
Перед компиляцией библиотеки скомпилируйте и установите все зависимости!
2.15.1. Скачиваем последнюю стабильную версию исходников библиотеки ALUT (freealut), на момент написания статьи последняя версия 1.1.0: freealut-1.1.0.tar.gz
2.15.2. Распаковываем скачанный архив в папку “C:\Qt\build\Audio”, исходники библиотеки и утилит должны быть в папке “C:\Qt\build\Audio\freealut-1.1.0″.
2.15.3. Компилируем и устанавливаем библиотеку ALUT (freealut):
Запускаем “C:\Qt\MinGW\msys\1.0\msys.bat” или ConEmu и набираем в консольном окне такие команды:
cd /c/Qt/build/Audio/freealut-1.1.0 cmake -DCMAKE_INSTALL_PREFIX:PATH="/mingw" -G "MSYS Makefiles" make make install
2.15.4. Скомпилированные статическая и динамическая библиотеки, заголовочные файлы должны скопироваться в соответствующие папки:
Install the project... -- Install configuration: "" -- Installing: C:/Qt/MinGW/include/AL/alut.h -- Installing: C:/Qt/MinGW/lib/pkgconfig/freealut.pc -- Installing: C:/Qt/MinGW/bin/freealut-config -- Installing: C:/Qt/MinGW/lib/libalut.dll.a -- Installing: C:/Qt/MinGW/bin/libalut.dll
2.15.5. Компиляция и запуск демо-кода.
2.15.5.1. Создаем файл “alutdemo.c” в папке “C:\Qt\build\Audio”, вставляем в него такое содержимое:
#include <stdlib.h> #include <AL/alut.h> int main (int argc, char **argv) { ALuint helloBuffer, helloSource; alutInit (&argc, argv); helloBuffer = alutCreateBufferHelloWorld(); alGenSources(1, &helloSource); alSourcei(helloSource, AL_BUFFER, helloBuffer); alSourcePlay(helloSource); alutSleep(2); alutExit(); return EXIT_SUCCESS; }
и сохраняем.
2.15.5.2. Для компиляции кода запускаем “C:\Qt\MinGW\msys\1.0\msys.bat” и набираем в консольном окне такие команды:
cd /c/Qt/build/Audio gcc alutdemo.c -o alutdemo -lopenal32 -lalut ./alutdemo.exe
Данные команды скомпилируют код в исполнительный файл “alutdemo.exe”, при запуске которого вы услышите фразу “Hello, World!”.
2.16. Компиляция и установка cURL (libcurl) библиотеки
Описание:
Официальный сайт: http://curl.haxx.se/
Библиотека Libcurl — представляет собой реализацию интерфейса API для различных передач, которую программисты могут встроить в свои программы. cURL действует как автономная обёртка для библиотеки libcurl.
Сборка:
Внимание! Зависимости:
Библиотека zlib (Опционально. Сборка возможна и без нее.)
Библиотека OpenSSL (Опционально. Нужна для сборки библиотеки cURL для git‘a)
CMake (Опционально. Нужен для сборки библиотеки cURL для git‘a)
Перед компиляцией библиотеки скомпилируйте и установите все зависимости!
2.16.1. Скачиваем последнюю стабильную версию исходников библиотеки cURL (libcurl), на момент написания статьи последняя версия 7.28.1: curl-7.28.1.tar.gz
2.16.2. Распаковываем скачанный архив в папку “C:\Qt\build”, исходники библиотеки и утилит должны быть в папке “C:\Qt\build\curl-7.28.1” .
2.16.3. Компилируем и устанавливаем библиотеку cURL:
Запускаем “C:\Qt\MinGW\msys\1.0\msys.bat” или ConEmu и набираем в консольном окне такие команды:
cd /c/Qt/build/curl-7.28.1 ./configure --prefix=/mingw make make install
Если при конфигурации возникла ошибка:
checking run-time libs availability... failed configure: error: one or more libs available at link-time are not available run-time. Libs used at link-time: -lwldap32 -lws2_32 -lz
Попробуйте отключить антивирус. Антивирусу “Avira Free Antivir” не понравился один из тестовых исполнительных файлов, создаваемых во время конфигурации.
Итак, библиотека скомпилировалась с дефолтными параметрами. Если вам нужны какие-то специальные параметры, то их всегда можно изменить перед конфигурированием. Список доступных опций можно посмотреть выполнив команду
./configure --help
2.16.4. Cборка библиотеки cURL для git‘a с помощью CMake. Запускаем “C:\Qt\MinGW\msys\1.0\msys.bat” или ConEmu и набираем в консольном окне такие команды:
cd /c/Qt/build/curl-7.28.1 cp /mingw/lib/libwsock32.a /c/Qt/build/curl-7.28.1/lib/wsock32.lib cp /mingw/lib/libwldap32.a /c/Qt/build/curl-7.28.1/lib/wldap32.lib cp /mingw/lib/libws2_32.a /c/Qt/build/curl-7.28.1/lib/ws2_32.lib cp /mingw/lib/libwsock32.a /c/Qt/build/curl-7.28.1/src/wsock32.lib cp /mingw/lib/libwldap32.a /c/Qt/build/curl-7.28.1/src/wldap32.lib cp /mingw/lib/libws2_32.a /c/Qt/build/curl-7.28.1/src/ws2_32.lib cmake -DCMAKE_INSTALL_PREFIX:PATH="/mingw" -G "MSYS Makefiles" make make install mv /mingw/lib/libcurl.dll /mingw/bin/libcurl.dll mv /mingw/lib/libcurl_imp.lib /mingw/lib/libcurl.a
2.16.5. Скомпилированные статическая и динамическая библиотеки, заголовочные файлы и утилиты должны скопироваться в соответствующие папки:
Утилита “curl.exe”, динамическая библиотека “libcurl-4.dll” или “libcurl.dll”, если использовался CMake в “C:\Qt\MinGW\bin”
Статическая “libcurl.a” и остальные в “C:\Qt\MinGW\lib”
Хэдеры в “C:\Qt\MinGW\include\curl”
2.17. Компиляция и установка библиотеки libmodplug
Описание:
Официальный сайт: http://modplug-xmms.sourceforge.net/
Библиотека libmodplug предназначена для работы с трекерной музыкой. Является аналогом библиотеки MikMod.
Сборка:
2.17.1. Скачиваем последнюю стабильную версию исходников библиотеки libmodplug, на момент написания статьи последняя версия 0.8.8.4: libmodplug-0.8.8.4.tar.gz
2.17.2. Распаковываем скачанный архив в папку “C:\Qt\build\Audio”, исходники библиотеки и утилит должны быть в папке “C:\Qt\build\Audio\libmodplug-0.8.8.4”.
2.17.3. Компилируем и устанавливаем библиотеку libmodplug:
Запускаем “C:\Qt\MinGW\msys\1.0\msys.bat” или ConEmu и набираем в консольном окне такие команды:
cd /c/Qt/build/Audio/libmodplug-0.8.8.4 ./configure --prefix=/mingw make make install
Библиотека скомпилировалась с дефолтными параметрами. Если вам нужны какие-то специальные параметры, то их всегда можно изменить перед конфигурированием. Список доступных опций можно посмотреть выполнив команду
./configure --help
2.17.4. Скомпилированные статическая и динамическая библиотеки, заголовочные файлы должны скопироваться в соответствующие папки:
Динамическая библиотека “libmodplug-1.dll” в “C:\Qt\MinGW\bin”
Статическая “libmodplug.dll.a” и остальные в “C:\Qt\MinGW\lib”
Хэдеры в “C:\Qt\MinGW\include\libmodplug”
2.18. Компиляция и установка библиотеки и утилит OpenSSL
Описание:
Официальный сайт: http://www.openssl.org/
OpenSSL — криптографический пакет (утилиты + библиотеки) с открытым исходным кодом для работы с SSL/TLS. Позволяет создавать различные ключи типа RSA, DH, DSA и сертификаты X.509, подписывать их, формировать CSR и CRT. Кроме того имеется возможность шифрования данных и тестирования SSL/TLS соединений.
Сборка:
2.18.1. Скачиваем последнюю стабильную версию исходников библиотеки OpenSSL, на момент написания статьи последняя версия 1.0.1c: openssl-1.0.1c.tar.gz
2.18.2. Распаковываем скачанный архив в папку “C:\Qt\build”, исходники библиотеки и утилит должны быть в папке “C:\Qt\build\openssl-1.0.1c”.
2.18.3. Компилируем и устанавливаем библиотеку OpenSSL:
Запускаем “C:\Qt\MinGW\msys\1.0\msys.bat” или ConEmu и набираем в консольном окне такие команды:
cd /c/Qt/build/openssl-1.0.1c ./Configure mingw --prefix=/mingw make make install
Компилирование OpenSSL и его установка, достаточно долговременный процесс.
2.18.4. Скомпилированные статическая и динамическая библиотеки, заголовочные файлы и утилиты должны скопироваться в соответствующие папки:
Утилита “openssl.exe” в “C:\Qt\MinGW\bin”
Статические “libssl.a” и “libcrypto.a” в “C:\Qt\MinGW\lib”
Хэдеры в “C:\Qt\MinGW\include\openssl”
2.19. Компиляция и установка библиотеки Expat
Описание:
Официальный сайт: http://expat.sourceforge.net/
Expat — это свободная потокоориентированная библиотека парсинга для XML. Один из наиболее доступных XML парсеров, достаточно широко используется в открытом программном обеспечении.
Сборка:
2.19.1. Скачиваем последнюю стабильную версию исходников библиотеки Expat, на момент написания статьи последняя версия 2.1.0: expat-2.1.0.tar.gz
2.19.2. Распаковываем скачанный архив в папку “C:\Qt\build”, исходники библиотеки и утилит должны быть в папке “C:\Qt\build\expat-2.1.0″.
2.19.3. Компилируем и устанавливаем библиотеку Expat:
Запускаем “C:\Qt\MinGW\msys\1.0\msys.bat” или ConEmu и набираем в консольном окне такие команды:
cd /c/Qt/build/expat-2.1.0 ./configure --prefix=/mingw make make install
Библиотека скомпилировалась с дефолтными параметрами. Если вам нужны какие-то специальные параметры, то их всегда можно изменить перед конфигурированием. Список доступных опций можно посмотреть выполнив команду
./configure --help
2.19.4. Скомпилированные статическая и динамическая библиотеки, заголовочные файлы должны скопироваться в соответствующие папки:
Динамическая библиотека “libexpat-1.dll” в “C:\Qt\MinGW\bin”
Статическая “libexpat.a” и остальные в “C:\Qt\MinGW\lib”
Хэдеры в “C:\Qt\MinGW\include”
2.20. Компиляция и установка библиотеки ZZIPlib
Описание:
Официальный сайт: http://zziplib.sourceforge.net/
ZZIPlib — это легковесная библиотека для работы со сжатыми файлами и ZIP-архивами.
Сборка:
Внимание! Зависимости:
Библиотека zlib
Python 2.7.x (для сборки документации)
Перед компиляцией библиотеки скомпилируйте и установите все зависимости!
2.20.1. Устанавливаем Python в папку “C:\Qt\Python272”.
2.20.2. Скачиваем последнюю стабильную версию исходников библиотеки ZZIPlib, на момент написания статьи последняя версия 0.13.62: zziplib-0.13.62.tar.bz2
2.20.3. Распаковываем скачанный архив в папку “C:\Qt\build”, исходники библиотеки и утилит должны быть в папке “C:\Qt\build\zziplib-0.13.62”.
2.20.4. Открываем файл “C:\Qt\build\zziplib-0.13.62\configure”, находим в файле строки:
uname -msr
и заменяем на:
uname -ms
всего две таких строки.
2.20.5. Компилируем и устанавливаем библиотеку ZZIPlib:
Запускаем “C:\Qt\MinGW\msys\1.0\msys.bat” или ConEmu и набираем в консольном окне такие команды:
export PYTHON="/c/Qt/Python27/python" cd /c/Qt/build/zziplib-0.13.62 ./configure --disable-mmap --prefix=/mingw make make install export -n PYTHON
Библиотека скомпилировалась с дефолтными параметрами. Если вам нужны какие-то специальные параметры, то их всегда можно изменить перед конфигурированием. Список доступных опций можно посмотреть выполнив команду
./configure --help
2.20.6. Скомпилированные статические библиотеки, заголовочные файлы должны скопироваться в соответствующие папки:
Статические “libzzip*.a” в “C:\Qt\MinGW\lib”
Хэдеры в “C:\Qt\MinGW\include\zzip”
3. Интеграция MinGW с IDE
Разрабатывать приложения, пользуясь консольной оболочкой, не всем привычно, да и идти нужно в ногу со временем. Поэтому вместе с нашим собранным тулчейном я рекомендую использовать среду разработки QtCreator от Digia.
Среда также позволит вам разрабатывать оконные приложения, используя мощнейший фреймворк Qt. Цена вопроса – 300-400 МБ для загрузки сборки под MinGW. Зато удобств – максимум. В QtCreator есть и автодополнение кода и настраиваемая подсветка, есть даже режим эмуляции vim, если вы уж так к нему привыкли.
Внешний вид QtCreator (изображение кликабельно):
Установка предельно проста:
1. Нужно загрузить сборку библиотек Qt для MinGW (на момент написания статьи их последняя версия 4.8.4): [DOWNLOAD | СКАЧАТЬ].
2. Установить библиотеки в “C:\Qt\qt-4.8.4”, установщик спросит путь к компилятору, следует указать “C:\Qt\MinGW”, если установщик ругнется на хэдер, ничего страшного, можно продолжить.
3. Загрузить собственно сам QtCreator (на момент написания статьи его последняя версия 2.6.1): [DOWNLOAD | СКАЧАТЬ].
4. Установить QtCreator в “C:\Qt\qtcreator-2.6.1” .
5. Среда готова к написанию программ! Кстати, кроме удобного qmake, имеется встроенная поддержка CMake, конечно при условии, что мы этот cmake установили.
Если у вас возникли проблемы по установке, настоятельно рекомендую посетить замечательный сайт http://qtlinux.narod.ru, там вы найдете различные мануалы по установке и тонкой настройки этой IDE.
http://exlmoto.ru/mingw-development-environment/
