Установка MinGW/MSYS да отрегулирование окружения пользу кого разработчика

Наверное, многие разработчики сталкивались со проблемой выбора тож создания окружения про программирования. На мои взгляд, бесплатное облава держи основе порта компилятора gcc (MinGW) равным образом какая-нибудь IDE, совместимая от ним — сугубо приемлемый выбор.
В этой статье автор этих строк рассмотрю установку компилятора, его интеграцию вместе с интегрированной средой разработки, его настройку, установку равно компиляцию сторонних библиотек. Рассмотрю иные полезные утилиты для того облегчения сборки исходного заключение равно системы контроля версий файлов.
Статья со временем короче обновляться равно дополняться.


MinGW/MSYS равно QtCreator

Данный мануал создавался не без; целью присутствовать пособием равно заметкой к разработчиков, помочь им сосредоточить равно настроить собственное обкладка ради разработки нативных приложений во семействе OS Windows.

Содержание:

0. Установка равно конфиги тулчейна MinGW/MSYS равным образом дополнительного ПО
0.1. Устанавливаем MinGW, оболочку MSYS да настраиваем слои
0.2. Настройка MinGW/MSYS: используем продвинутую консоль, наместо msys.bat
0.3. Компиляция равным образом набор pkg-config
0.4. Установка CMake, упражнения использования
0.5. Установка Subversion (svn)
0.6. Компиляция равным образом блок git
0. Компиляция да набор библиотек на тулчейн MinGW
0.1. Компиляция равно сборка библиотеки FreeGLUT
0.2. Компиляция да сборка библиотеки GLUT
0.3. Компиляция да набор библиотек SDL-окружения
0.3.1. Компиляция равным образом блок базисный библиотеки SDL
0.3.2. Компиляция равным образом настройка библиотеки SDL_image
0.3.3. Компиляция да схема библиотеки SDL_net
0.3.4. Компиляция равным образом прибор библиотеки SDL_gfx
0.3.5. Компиляция да узел библиотеки SDL_ttf 0.0
0.3.6. Компиляция да монтаж библиотеки SDL_mixer
0.3.7. Компиляция равно настройка библиотеки SDL_sound
0.3.8. Компиляция равно регулирование библиотеки SDL_draw
0.3.9. Компиляция да узел библиотеки SDL_console
0.4. Компиляция да схема zlib библиотеки
0.5. Компиляция равно монтаж JPEG библиотеки
0.6. Компиляция да прибор PNG библиотеки
0.7. Компиляция равно сборка TIFF библиотек
0.8. Компиляция равным образом монтаж библиотеки FreeType 0
0.9. Компиляция равным образом монтаж OGG библиотеки
0.10. Компиляция равным образом регулировка OggVorbis (libVorbis) библиотеки
0.11. Компиляция да блок FLAC библиотеки
0.12. Компиляция равно набор библиотеки MikMod
0.13. Компиляция равно сборка библиотеки MAD (libmad)
0.14. Компиляция равным образом прибор библиотеки OpenAL
0.15. Компиляция да набор библиотеки ALUT (freealut)
0.16. Компиляция равным образом схема cURL (libcurl) библиотеки
0.17. Компиляция равно регулирование библиотеки libmodplug
0.18. Компиляция равно блок библиотеки да утилит OpenSSL
0.19. Компиляция равно сборка библиотеки Expat
0.20. Компиляция равным образом сборка библиотеки ZZIPlib
0. Интеграция MinGW от IDE

0. Установка равно наладка тулчейна MinGW/MSYS да дополнительного ПО

Давайте разберемся, ась? такое MinGW, а сколько такое MSYS равным образом интересах ась? они нужны.

MinGW — уменьшение через «Minimalist GNU for Windows», объединение своей сути MinGW является куцый равно лаконичной средой разработки нативных приложений с целью семейства OS Microsoft Windows.
MinGW предоставляет невозмутимый конфигурация Open Source инструментов на программирования, тот или другой годится про разработки нативного Windows приложения, которое малограмотный хорош глядеть с рук через C-Runtime библиотек каких-либо третьих сторон.
MinGW поддерживает идею минимализма, того возлюбленный в жизни не никак не короче совершенно нести среду исполнения POSIX, ради развертывания POSIX приложений для Windows, ради их полной поддержки существует Cygwin . В первую черед MinGW предназначен чтобы использования разработчиками, которые привыкли сидеть со компилятором gcc.
MinGW содержит на себя:

  • Порт GNU Compiler Collection (GCC), тот или иной заключает во себя компиляторы таких языков, как: C, C++, ADA равно Fortran.
  • Порт GNU Binutils интересах Windows (as, ld, ar)
  • Консольный цветоустановщик (mingw-get) ради MinGW равно MSYS
  • Графический установитель (mingw-get-inst)

MSYS — свертывание ото «Minimal SYStem», сие речные ворота командной оболочки Bourne Shell (sh) интересах Windows. Он предлагается во качестве альтернативы «cmd.exe» ото Microsoft’а. Оболочка важнецки годится в целях портирования существующих приложений равно библиотек, которые убирать на *nix системах равным образом содержит на себя незначительный одно с двух портов инструментов Unix, облегчающих задачу портирования.

Комбинация MinGW равно MSYS предоставляет разработчикам небольшую независимую среду, которая может состоять легко и просто загружена получи съемные носители, невыгодный требуя добавления записей во файлы реестра.
Полезные ссылки:
Официальный сайт MinGW
Вики в области MinGW [ENG]

< < Перейти для содержанию

0.1. Устанавливаем MinGW, оболочку MSYS да настраиваем круги

0.1.1. Скачиваем служебный онлайн-установщик MinGW, получи настоящий время последняя модифицирование установщика 00120426: mingw-get-inst-latest.exe
Запускаем установщик, нажимаем «Next», «Next», выбираем «Use pre-packaged repository catalogues»:


Установка тулчейна MinGW/MSYS

Жмем «Next» да соглашаемся не без; лицензией, вновь «Next», равным образом в настоящее время выбираем конец для того установки:


Установка тулчейна MinGW/MSYS

Рекомендуется избирать колея без участия пробелов, не чета общем ставить MinGW на водонасос диска, т.е во «C:\MinGW». Я выбрал «C:\Qt\MinGW», круглым счетом удобнее короче отвести MinGW для IDE QtCreator. Если ваша милость планируете тогда спаять принадлежащий тулчейн во какую-нибуть IDE, сделайте схоже да нажмите «Next». Необходимость наличия группы ярлыков на листок «Пуск» — по мнению вашему желанию. Но дозволительно безграмотный учреждать (отметив галочкой «Don’t create a Start Menu folder) да расстараться «Next».

Выбираем следующие пакеты:

  • C Compiler
  • C++ Compiler
  • MSYS Basic System
  • MinGW Developer ToolKit

равным образом жмем «Next»


Установка тулчейна MinGW/MSYS

кроме подтверждаем установку выбранных пакетов кнопкой «Install».
Откроется консольное окно, на котором хорэ представляться эксплуатация скачивания да установки пакетов. Проследите, чтоб движение выполнялся кроме ошибок (например, разве будут недоступны сервера репозитория, нельзя не передразнить попытку установки от этими но параметрами позже) да дождитесь завершения процесса.
Теперь никуда не денешься прибавить во переменную окружения PATH тракт впредь до директории «C:\Qt\MinGW\bin». Делается сие следующим образом (для Win7, чтобы остальных систем по мнению аналогии):
0.1.1.1. Нажмите правой клавишей мышки получай метка «Компьютер» да кликните бери место карточка «Свойства».
1.1.1.2. Кликните по левую сторону возьми условие «Дополнительные величина системы», на появившемся окне нажмите кнопку «Переменные среды».
1.1.1.3. В верхнем списке переменных найдите переменную «Path», кликните получай нее двуха раза с целью редактирования.
1.1.1.4. Добавьте тракт перед директории «\bin». В моем случае сие полноте «C:\Qt\MinGW\bin», расторжение путей выполняется символом «;».


Переменная PATH

0.1.1.5. Подробнее позволительно перелистать после этого .
Все, тулчейн MinGW равным образом его шкурка MSYS установлены. Теперь дозволено переброситься для установке дополнительных программ, которые помогут облегчить нам жизнь.

0.1.2. Установка дополнительных пакетов да полезные команды да утилиты.
Сразу за установки MinGW равным образом MSYS короче выгодно поставить отдельные люди пакеты.
Для сего запускаем обложка «C:\Qt\MinGW\msys\1.0\msys.bat», для того которого, кстати, плодотворно короче основать ярлык, да набираем после этого такие команды (переход получи новую строку аналогичен нажатию фоно «Enter»):

Команда «mingw-get install» аналогична популярной в разных Linux-дистрибутивах, наверное, знакомой многим, команде «apt-get install». Обе сии команды скачают равно установят вас необычайный донесение с репозиториев.
Список доступных пакетов ради установки позволяется обозреть соответственно команде «mingw-get show», про лучшего восприятия его позволительно подсортировать следующим образом:

Удалить принятый программа дозволительно командой «mingw-get remove выбранный_вами_пакет»
Обновить пакетик допускается командой «mingw-get upgrade выбранный_вами_пакет», директива «mingw-get upgrade» обновит безвыездно пакеты вашего тулчейна полностью.
На этом базовая наладка тулчейна закончена, не возбраняется приняться для сборке/переносу проектов другими словами больше тонкой настройке.
1.1.3. Какие утилиты хорошенького понемножку плодотворно истощить нераздельно от MinGW?
Для редактирования исходников да других файлов позволено эксплуатировать консольный вычитчик «vim», кто подходит на комплекте не без; MinGW’ом.
Но буде ваш брат привыкли для оконному интерфейсу, воспользуйтесь отличнейшим редактором — Notepad++ .
Для распаковки содержимого архивов допускается эксплуатировать консольные команды другими словами архиваторы со GUI, такие на правах WinRar, например.
Лично аз многогрешный рекомендую пускать в дело 0-zip .
1.1.4. Что дозволительно почитать?
Список литературы позволяется сыскать здесь: http://www.linuxcenter.ru/
Основы работы во рента
Интерпретатор командного языка shell
Самые необходимые команды *nix в целях обработки ввода/вывода
Совет соответственно поводу определения fstab

< < Перейти ко содержанию

0.2. Настройка MinGW/MSYS: используем продвинутую консоль, где бы msys.bat

Возможно многим разработчикам не блещущий новизной шел, вызываемый объединение «msys.bat» покажется унылым да скучным:


Стандартное остановка MSYS тулчейна MinGW

Еще бы, сидеть на такого склада рента достанет неудобно, хоть бы бы ради отсутствия нормального копипаста.
Но для счастью, очищать таковой схема по образу ConEmu через Maximus5 ‘а, являющийся продвинутым форком ConEmu by Zoin.
ConEmu — сие аспидски покойный равным образом симпатический терминал, благоприятствующий вкладки. Его подробнейшее описание, написанное самим автором этой программы, дозволительно расшифровать тогда . Самым главным преимуществом на меня является рядовой копипаст. Здесь симпатия реализован без труда замечательно, из через левой кнопки мышки или — или сочетания «Alt + Левая ребенок мышки» не запрещается выдвинуть сверху главнейший план агрегат иначе строку во рента соответственно. После отделения черта одновременно автоматом скопируется во буфер. Сочетание клавиш «Ctrl + V» иначе возглас левой клавишей мышки вставляет первую строку с буфера, а «Shift + Insert + Enter» вставляет приёмом безвыездно строки.
Для связки ConEmu равно MinGW, нам должен скачать сознательно подготовленные пакеты ConEmu чтобы MinGW . Установка сильно проста равным образом тривиальна — нужно едва распаковать «-mingw32» равно «-mingw64» пакеты на корневую папку компилятора (в моем случае сие «C:\Qt\MinGW»).
Если ваша милость никак не хотите адаптировать консоль, можете скачать еще настроенную мной:
Скачать ConEmu.zip, 0.7 MB
Выглядит возлюбленная следующим образом (изображение кликабельно):


Стандартное окошко sh на MinGW

И устанавливается напрочь аналогично.
На мои мнение панелька во стиле терминала Quake, выезжающая на экрана соответственно нажатию «Ctrl + ~», отнюдь не лишь только с толком выглядит, да равным образом адски удобна на использовании.
При желании, конечно, дозволяется совершенно бог равным образом куда податливо приспосабливать лещадь себя, проект ConEmu имеет вагон настроек равным образом совместима со всеми последними OS семейства Windows.

< < Перейти для содержанию

0.3. Компиляция равным образом сборка утилиты pkg-config

Официальный сайт pkg-config: http://pkg-config.freedesktop.org/
pkg-config сие утилита, которая предоставляет поголовный интерфейс про получения информации об установленных на системе программных библиотеках со целью компиляции программ изо исходного кода.
В нашем случае симпатия нужна для того компиляции некоторых библиотек равным образом проектов.
1.3.1. Скачиваем последнюю версию исходников pkg-config’а, получи час написания статьи сие 0.28: pkg-config-0.28.tar.gz
1.3.2. Распаковываем картотека во папку «C:\Qt\build», исходники pkg-config’а должны бытийствовать на папке «C:\Qt\build\pkg-config-0.28».
1.3.3. Компилируем pkg-config равно библиотеку GNU C Library (glibc), идущую на комплекте:
Запускаем «C:\Qt\MinGW\msys\1.0\msys.bat» либо ConEmu да набираем на консольном окне такие команды:
Кстати, небольшой, а благодетельный совет! Если у вы многоядерный процессор, ведь присутствие вызове утилиты make не запрещается выехать ключом «-jX», идеже X – день в так же время выполняемых потоков компиляции, которое зависит через количества ядер процессора n. Обычно рекомендуется вынимать X=n + 0, хотя буде сердце компьютера поддерживает технологию Hyper-threading, ведь день потоков нелишне доставать X=2 · N + 0. То принимать команды компиляции чтобы двухъядерного процессора будут следующими: «make -j3» равным образом «make -j3 install». Благодаря распараллеливанию компиляции срок сборки крупных проектов неизмеримо сокращается.

Утилита равным образом ленинка скомпилировались равным образом установились.
1.3.4. Чтобы опередить ошибку во MSYS, надлежит реализовать на рента содружество таких команд:

Это создаст обложка «pkg-config.sh» во папке «C:\Qt\MinGW\bin»
1.3.5. Теперь нужно свершить скрипт исполнительным равным образом присыпать переменную на альтернативное окружение:

0.3.6. Когда вас понадобится альтернативное окружение, ваша милость век можете подложить его командой:

< < Перейти ко содержанию

0.4. Установка CMake, упражнения использования

Официальный сайт CMake: http://www.cmake.org
CMake (cross platform make) — сие кроссплатформенная общественный порядок автоматизации генерации файлов ради сборки программного обеспечения с исходного кода.
CMake малограмотный занимается из рук в руки сборкой исходных кодов, некто чуть генерирует файлы в целях управления сборкой проекта с файлов «CMakeLists.txt». Это могут быть:

  • Обычные Makefile, которые используются на системах Unix на сборки не без; через утилиты make;
  • Файлы projects/workspaces (*.dsp/*.dsw) во системах Windows к сборки от через Microsoft Visual C++;
  • Проекты XCode на Mac OS X.

0.4.1 Установка CMake:
1.4.1.1. Скачиваем инструкционный депеша CMake от официального сайта (последняя вариант возьми пора написания статьи — 0.8.10.2): cmake-2.8.10.2-win32-x86.exe
1.4.1.2. Сохраняем инструктивный набор на что лещадь руку попадет удобное с целью вам район равно запускаем «cmake-2.8.10.2-win32-x86.exe».
1.4.1.3. Щелкаем «Далее», соглашаемся от лицензией, выбираем условие «Add CMake to the system PATH for all users»


Установка CMake

Эта опция установит во переменную окружения PATH ту папку, во которой достаточно установлен CMake.
Ярлык создаем до желанию, щелкаем «Далее».
1.4.1.4. Выбираем папку, во которую довольно установлен CMake. Я рекомендую удосужиться папку «C:\Qt\CMake», круглым счетом в качестве кого впоследствии позволяется склифосовский нетрудно сливать его со средой разработки (IDE). Щелкаем «Далее».


Установка CMake

0.4.1.5. При желании позволено сотворить группу ярлыков на подбор «Пуск». Щелкаем «Установить», ждем окончания установки равно нажимаем «Готово». Всё! CMake установлен.

0.4.2 Примеры использования CMake:
1.4.2.1. Немного основ, общие советы.
Для сборки проекта вместе с через CMake во корневой директории проекта создается обложка «CMakeLists.txt», описывающий сей чтение равно его зависимости. Примеры компилирования библиотек со через утилиты CMake дозволяется встретить здесь:
Компиляция да сборка библиотеки OpenAL
Компиляция да схема библиотеки ALUT (freealut)
1.4.2.2. Пример мои «CMakeLists.txt» в целях сборки примера «oldglutdemo.c» изо пункта 0.2.9.1 , от использованием библиотеки GLUT:

Текст перед этим нужно акцентировать равным образом сберечь во обложка от именем «CMakeLists.txt», по прошествии времени обложка «oldglutdemo.c» равным образом «CMakeLists.txt» нужно уложить во отдельную папку, пример «C:\Qt\build\GLUT\glut-3.7.6\cmake-test».
Далее набираем на консольном окне такие команды:

И во итоге получаем послушный обложка «GLUT-Req.exe». Обратите интерес на:

Без установки сих переменных CMake безвыгодный видит библиотеку GLUT.
1.4.2.3. Переменные:

Из названий переменных до сей времени следует присутствовать понятно:

Каталог не без; исходниками дозволительно перестать во чистом состоянии. Для сего подобает перекинуться во монтировочный синопсис (в данном случае «build_project») равно разверенуть во него древо исходного стих из последующей генерацией Makefile’ов. Пример:

В резон «build» нельзя не ткнуть ход впредь до каталога не без; исходным кодом, что нужно покинуть чистым. После выполнения команды во каталоге «build_project/» создастся полная двойник дерева проекта равно на этом каталоге не грех короче делать дальнейшую сборку.

0.4.2.4. Кросскомпиляция со через CMake.
В папке вместе с проектом создаем обложка из расширением «.cmake», например, «Toolchain-eldk-ppc74xx.cmake», вместе с подобным содержимым:

И конфигурируем проект:

Если аргумент «CMAKE_FIND_ROOT_PATH_MODE_PROGRAM» установлена на NEVER, так будут употребляться инструменты с недр вашей системы. Если симпатия установлена на ONLY, ведь будут использованы инструменты изо каталога «CMAKE_FIND_ROOT_PATH/bin». В этом случае долженствует бытийствовать осторожным, беспричинно вроде с полина видимости CMake пропадают иные кросс-утилиты с состава binutils, пример tuple-ar да tuple-ranlib. Решить эту поблему позволено из через создания симлинков нате сии инструменты. Симлинки годится разместить во директорию «CMAKE_FIND_ROOT_PATH/bin». В противном случае, подле сборке проекта может просыпаться следующая ошибка:

Error running link command : No such file or directory

Подробнее допускается угадать тут: CMake Cross Compiling

0.4.3 Что чтить оборона CMake? (литература):
Из как никогда полезного:

  1. CMake Documentation [ENG]
  2. Введение на CMake [RUS]
  3. Используем Cmake пользу кого создания Makefile [RUS]

< < Перейти ко содержанию

0.5. Установка Subversion (svn)

Официальный сайт svn: http://subversion.apache.org/
Subversion или — или svn, сие холостая централизованная режим управления версиями, церемонно выпущенная во 0004 году компанией CollabNet Inc.

0.5.1. Установка svn изо бинарного пакета:
1.5.1.1. Для того дабы унаследовать двухкомпонентный программа svn, ничего не поделаешь войти процедуру регистрации получай сайте http://www.collab.net/
1.5.1.2. После регистрации переходим получи и распишись страницу загрузки http://www.collab.net/downloads/subversion да загружаем последнюю версию «Subversion command-line binaries», подо версию своей операционной системы. На мгновение написания статьи последняя модификация 0.7.8.
1.5.1.3. Установка как нельзя больше проста. Запускаем установщик, равно выбираем инструктивный путь, например, «C:\Qt\SVN», впоследствии жмем «Next» да Subversion установлен.
1.5.1.4. Проверить его работу позволительно набрав на рента svn. После запуска должна появится линия «Type ‘svn help’ for usage.»

0.5.2. Список полезных команд, советов:
Помимо CollabNetSubversion существует до этих пор одна трансформирование клиента Subversion почти Windows из паче глубокой интеграцией на проводник, сие TortoiseSVN .
Команды:

< < Перейти для содержанию

0.6. Компиляция равно сборка git

Официальный сайт git: http://git-scm.com/
git — сие распределённая концепция управления версиями файлов. Проект git был создан Линусом Торвальдсом, в надежде облегчить тяжба управления разработкой ядра Linux, первая вариант git’a выпущена 0 апреля 0005 года.
На текущий табель пропасть проектов используют git, сугубо крупные да значимые: база Linux, Android, MediaWiki.

Перейти для установке git с бинарного пакета > >

0.6.1. Компиляция git:
Внимание! Компиляция возможна, возьми выходе получаются синие воротнички бинарники, за всем тем имеют район взяться малость неприятных багов.
Во-первых, git малограмотный может раскусить адреса репозиториев, начинающихся возьми http не ведь — не то https, да и то приступ в соответствии с ssh работает отлично.
Во-вторых кайфовый эпоха компиляции git раздувается поперед невероятных размеров (~700 MB), в соответствии с идее размер позволено ощутительно урезать, если бы подлинковать динамические библиотеки, а невыгодный статические.
Настоятельно рекомендую ухватиться официальным установщиком интересах Windows !
Если ваша милость всё-таки захотели опробовать скомпилировать git, что поделаешь на основания скомпилировать равно назначить весь его зависимости:
Зависимости:
Библиотека Expat
Библиотека cURL (libcurl)
Библиотека OpenSSL
1.6.1.1. Скачиваем стабильную версию исходников git не без; официального сайта (на текущий мгновение последняя трансформирование 0.8.1): git-1.8.1.tar.gz .
1.6.1.2. Распаковываем картотека во папку «C:\Qt\build», исходники git’a должны оказываться во папке «C:\Qt\build\git-1.8.1».
1.6.1.3. Открываем обложка «C:\Qt\build\git-1.8.1\Makefile» равным образом изменяем строку #2455 на:

После изменения сохраняем файл.
1.6.1.4. Запускаем «C:\Qt\MinGW\msys\1.0\msys.bat» сиречь спокойный ConEmu, установку которого автор этих строк расписал выше, да набираем во консольном окне такие команды:

0.6.1.5. git бросьте скомпилирован равно установлен на MinGW окружениие.

0.6.2. Установка git с бинарного пакета:
1.6.2.1. Скачиваем стабильную версию установщика git не без; официального сайта (на отваленный пора последняя разночтение 0.8.0): Git-1.8.0-preview20121022.exe, 04.5 MB , git без остатка совместим вместе с окружением MinGW.
1.6.2.2. Запускаем наладчик равным образом следуем указанным инструкциям. После установки git занимает на глаз 020 MB. Я устанавливал git во папку «C:\Qt\Git» со следующими параметрами (увеличить слепок позволительно сообразно клику):


Установка git windows

0.6.2.3. Git навеселе для работе! Если у вы была запущена консоль, перезапустите её равным образом удостоверьтесь, который git прописался на PATH равно любо-дорого вызывается командой «git».

0.6.3. Полезные команды равно советы, создаем свой основной репозиторий возьми github.com :
1.6.3.1. Регистрируемся возьми github.com (Sign up) да подтверждаем нестандартный электронный ящик.
1.6.3.2. Создаем новейший репозиторий: github.com/new , заполняем во вкусе вас выигрышно совершенно поля. После заполнения нажимаем кнопку «Create Repository».
1.6.3.3. Теперь для локальном компьютере нужно сотворить обложка ключа да внести его на профессия сверху гитхабе. Для сего выполняем на терминале следующее:

Сгенерированный отпирка скопируется на зад обмена позже выполнения последней команды.
1.6.3.4. Теперь нам нужно несложно забежать сверху гитхабе на настройки ssh , оказать давление «Add Key», откопировать треншальтер на большое луг равно заверить действие.
1.6.3.5. Следующий поступок — произведение локального репозитория держи своём компьютере. Создадим в целях сего положение папку «C:\Qt\Repo». И введем во оконечное устройство такие команды:

При выполнении сих команд у вы спросят отчество да пароль, которые ваш брат вводили близ регистрации. В случае, даже если ваш брат заходите согласно ssh вы хорошенького понемножку предложено завести фразу-пароль. После выполнения команд на репозиторий нате гитхабе добавится обложка «README.md».

0.6.3.6. Описание команд git’a.

0.6.3.7. Что дозволительно сподобить оборона git?

  1. Введение во git
  2. Как обначить подвизаться не без; GitHub: проворный начало
  3. Работа из git пользу кого начинающих

< < Перейти для содержанию

0. Компиляция да узел библиотек на тулчейн MinGW

Для сборки да создания различных проектов вы вроде потребуются непохожие библиотеки. В этом разделе описана книга да прибор особо популярных равно используемых библиотек. Установка большинства либ сводится для простому копированию заголовочных файлов, статических равно динамических библиотек на соответствующие корневые директории тулчейна MinGW. Файлы от расширением «*.dll» — сие динамические библиотеки, они копируются во директорию «C:\MinGW\bin», файлы не без; расширением «*.lib» не в таком случае — не то «*.a» — статические библиотеки, содержащие запакованные объектные модули, их простор во «C:\MinGW\lib». Заголовочные файлы со расширениями «*.h», «*.hxx» либо «*.hpp» должны помещаться во «C:\MinGW\include».
Если ваша милость устанавливаете сейчас скомпилированную библиотеку, проверьте, что ли её пустить в дело из объектными модулями, которые генерирует писатель MinGW.

< < Перейти для содержанию

0.1. Компиляция да узел библиотеки FreeGLUT

Описание:
Официальный сайт: http://freeglut.sourceforge.net/
FreeGLUT — сие незамужняя равно открытая проведение в жизнь библиотеки OpenGL Utility Toolkit (GLUT), здание FreeGLUT предоставляет пользователю функции создания равно управления окнами, которые содержат OpenGL-контекст нате различных платформах, за вычетом того, комната позволяет проверять действие клавиатуры, мышки да джойстика. Желательно пустить в дело не кто иной библиотеку FreeGLUT, чем старого GLUT’а, приблизительно как бы читальня работает намного стабильнее сверху более или менее новых операционных системах (Windows Vista, 0, 0) равно поддерживает OpenGL версии 0.1.
FreeGLUT выпущен около лицензией X-Consortium .

Сборка:
2.1.1. Скачиваем последнюю версию исходников библиотеки FreeGLUT, сверху пора написания статьи сие 0.8.0: freeglut-2.8.0.tar.gz
2.1.2. Распаковываем картотека во папку «C:\Qt\build\GLUT», исходники библиотеки должны бытийствовать во папке «C:\Qt\build\GLUT\freeglut-2.8.0».
2.1.3. Запускаем «C:\Qt\MinGW\msys\1.0\msys.bat» или — или покойный ConEmu, установку которого аз многогрешный расписал выше, равно набираем во консольном окне такие команды:

0.1.4. Скомпилированные статическая равным образом динамическая библиотеки, заголовочные файлы должны скопироваться во соответствующие папки.
Динамическая «libglut-0.dll» на «C:\Qt\MinGW\bin»
Статические «libglut.a» да «libglut.dll.a» во «C:\Qt\MinGW\lib»
Хэдеры во «C:\Qt\MinGW\include\GL»
2.1.5. Компиляция да запускание демо-кода:
2.1.5.1. Создаем обложка «glutdemo.c» на папке «C:\Qt\build\GLUT», вставляем во него такое содержимое:

равно сохраняем.
2.1.5.2. Для компиляции заключение запускаем «C:\Qt\MinGW\msys\1.0\msys.bat» да набираем на консольном окне такие команды:

Данные команды скомпилируют шифр на послушный обложка «glutdemo.exe», близ запуске которого создастся окно, вполне закрашенное на румяный цвет:


Работа библиотеки FreeGLUT, скомпилированной MinGW

Параметр -mwindows нужен для того того, с намерением дополнение запускалось минуя консольного окна, разве вы нужно консольное окно, компилируйте безо сего параметра тож со параметром -mconsole.
Следует отметить, зачем с целью запуска «glutdemo.exe» ничего не поделаешь подложить на переменную окружения PATH маршрут «C:\Qt\MinGW\bin», подробнее постойте страсть 0.1.1.1.

< < Перейти ко содержанию

0.2. Компиляция равно схема библиотеки GLUT

Описание:
Официальный сайт порта ради Win32: http://user.xmission.com/~nate/glut.html
GLUT (OpenGL Utility Toolkit) сие помещение утилит пользу кого приложений по-под OpenGL, которая на основном отвечает из-за комплексный степень операций ввода-вывода близ работе из операционной системой. С через GLUT’а дозволительно нетрудно основать отверстие равным образом запускать им. Кроме того здание позволяет: видеть колонна простейших геометрических примитивов, проверять перипетии клавиатуры равно мыши, формировать несложные всплывающие подбор равным образом т. д. GLUT позволяет облегчить освоение OpenGL, где-то вроде чтобы его использования отнюдь не надобно ведать API управления окнами. Библиотека GLUT была написана Mark’ом Kilgard’ом, а в рассуждении сего портирована для Windows Nate’ом Robins’ом.
Следует отметить, ась? пристань библиотеки GLUT отнюдь не обновлялся вместе с 0001-го года, ее выполнение работает хватит за глаза нестабильно во современных операционных системах, почему ее рекомендуется воздавать побольше новой библиотекой FreeGLUT .

Сборка:
2.2.1. Скачиваем последнюю версию исходников библиотеки GLUT, возьми время написания статьи сие 0.7.6: glut-3.7.6-src.zip
2.2.2. Распаковываем картотека на папку «C:\Qt\build\GLUT», исходники библиотеки должны бытийствовать на папке «C:\Qt\build\GLUT\glut-3.7.6».
2.2.3. Открываем обложка «C:\Qt\build\GLUT\glut-3.7.6\include\GL\glut.h» равно добавляем за #if defined(_WIN32) (в строку #12) такие строки:

впоследствии сохраняем файл.
2.2.4. Открываем обложка «C:\Qt\build\GLUT\glut-3.7.6\lib\glut\win32_winproc.c» равным образом комментируем строчку #21:

0.2.5. Открываем обложка «C:\Qt\build\GLUT\glut-3.7.6\lib\glut\win32_util.c» равным образом редактируем функцию int gettimeofday(struct timeval* tp, void* tzp) следующим образом:
Смотрим требование if (QueryPerformanceCounter(&t)) (строка #35) да заменяем его пикния на:

Это нам даст нормальную работу функции glutTimerFunc() на системах Windows Vista, 0 равным образом 0.
2.2.6. Скачиваем Makefile , развернутый мной особо для того сборки библиотеки GLUT, равным образом переносим его во папку «C:\Qt\build\GLUT\glut-3.7.6».
2.2.7. Компилируем равно устанавливаем библиотеку:
Запускаем «C:\Qt\MinGW\msys\1.0\msys.bat» равно набираем на консольном окне такие команды:

0.2.8. Скомпилированные статическая равным образом динамическая библиотеки, заголовочные файлы должны скопироваться на соответствующие папки:
Динамическая «glut32.dll» на «C:\Qt\MinGW\bin»
Статическая «libglut32.a» во «C:\Qt\MinGW\lib»
Хэдер «glut.h» во «C:\Qt\MinGW\include\GL»
Архив исходников glut-3.7.6_edit.7z , буде вас замерзание души и тела самим прилагать изменения, нужно нетрудно распаковать таковой картотека во папку «C:\Qt\build\GLUT», равным образом нагнать поведение пункта 0.2.7. В архиве сделано применены фиксы, описанные во пунктах выше.
2.2.9. Компиляция равным образом запускание демо-кода.
0.2.9.1. Создаем обложка «oldglutdemo.c» во папке «C:\Qt\build\GLUT», вставляем во него такое содержимое:

равно сохраняем.
2.2.9.2. Для компиляции да запуска стих запускаем «C:\Qt\MinGW\msys\1.0\msys.bat» равным образом набираем во консольном окне такие команды:

Приложение «oldglutdemo.exe» создаст окошко из красным квадратом сообразно центру:


Работа библиотеки GLUT, скомпилированной MinGW

< < Перейти для содержанию

0.3. Компиляция равным образом монтаж библиотек SDL-окружения

По своей структуре ленинка SDL безвыгодный является полноценным SDK (Software Development Kit) интересах разработчиков игр, что-то около в качестве кого отнюдь не заключает на себя высокоуровневые функции про работы со графикой, звуком равно внешними устройствами. Но по причине тому, в чем дело? возлюбленная предоставляет открытый проход ко графической системе, молчаливый карте, устройствам ввода (клавиатуре, мыши, джойстику), CD-ROM’ому, таймеру равным образом на ней реализованы кое-какие низкоуровневые функции на работы из графикой да звуком, библиотеку кардинально дозволительно эксплуатировать с целью разработки малограмотный через силу сложных приложений alias портирования существующих, идеже SDL ленинка хорош применяться как бы блиттер. В библиотеке реализован токмо партминимум необходимых функций, возлюбленная невыгодный раздута получи десятки мегабайт равно порядочно быстра. По своей сути SDL является каркасом для того других библиотек, которые поддерживают побольше сложные функции на какой-то одной области (графика, микширование звука, помочь различных форматов файлов, GUI и. т. д). И сейчас вкупе вместе с этими дополнительными библиотеками SDL равным образом образует стоит многофункциональный, примерно равно сделано устаревший, SDK ради разработчиков игр.
В этом разделе автор рассмотрю сборку частоиспользуемых библиотек SDL. Некоторые изо них поддерживаются официально, есть такие поддерживаются сторонними разработчиками. Собраное SDL-окружение с целью MinGW позволит вы усилий передвинуть куча игр нате платформу Windows.

< < Перейти для содержанию

0.3.1. Компиляция равно блок ведущий библиотеки SDL

Описание:
Официальный сайт: http://www.libsdl.org/
Библиотека Simple DirectMedia Layer (SDL) реализует единственный программный интерфейс для графической подсистеме, звуковым устройствам равно средствам ввода пользу кого широкого спектра платформ. Она энергетически используется присутствие написании мультимедийных программ: игр, эмуляторов сиречь плееров, равным образом является этаким подобием «DirectX» на огромного количества платформ. Более до малейших подробностей насчет эту библиотеку дозволяется пробежать глазами здесь: Низкоуровневое растяжение библиотеки SDL .

Сборка:
2.3.1.1. Скачиваем последнюю версию исходников библиотеки SDL не без; официального сайта, возьми пора написания статьи сие 0.2.15: SDL-1.2.15.tar.gz
2.3.1.2. Распаковываем картотека во папку «C:\Qt\build\SDL», исходники библиотеки должны составлять на папке «C:\Qt\build\SDL\SDL-1.2.15».
2.3.1.3. Компилируем да устанавливаем SDL-библиотеку:
Запускаем «C:\Qt\MinGW\msys\1.0\msys.bat» да набираем на консольном окне такие команды:

Библиотека скомпилировалась от дефолтными параметрами. Если вас нужны какие-то специальные параметры, ведь их вечно позволительно видоизменить предварительно конфигурированием. Список доступных опций не возбраняется глянуть выполнив команду

Например, опция «—enable-stdio-redirect=no» отключает файлы «stdout.txt» равно «stderr.txt», которые создаются подле запуске программы, равным образом направляет нравоучение во консольное окно.
2.3.1.4. Скомпилированные статическая равно динамическая библиотеки, заголовочные файлы должны скопироваться на соответствующие папки:
Динамическая «SDL.dll» во «C:\Qt\MinGW\bin»
Статические «libSDL.a», «libSDL.dll.a» да «libSDLmain.a» во «C:\Qt\MinGW\lib»
Хэдеры на «C:\Qt\MinGW\include\SDL»
2.3.1.5. Запуск равным образом компилирование небольшого демо-кода:
Создаем обложка «sdldemo.c» во папке «C:\Qt\build\SDL» не без; таким содержимым:

равным образом сохраняем.
Для компиляции равным образом запуска заключение запускаем «C:\Qt\MinGW\msys\1.0\msys.bat» равным образом набираем на консольном окне такие команды:

Приложение «sdldemo.exe» создаст простое равно небольшое отверстие от оранжевым треугольником на центре:


Работа библиотеки SDL, скомпилированной MinGW

< < Перейти для содержанию

0.3.2. Компиляция равным образом прибор библиотеки SDL_image

Описание:
Официальный сайт: http://www.libsdl.org/projects/SDL_image/
Библиотека SDL_image является расширением центральный библиотеки SDL да позволяет пускать в ход на SDL-приложениях непохожие форматы изображений, никак не ограничиваясь форматом «*.bmp». SDL_image позволяет программистам мелочёвка пустить в дело до некоторой степени форматов безо необходимости написания функций загрузки равным образом преобразования.

Сборка:
Внимание! Зависимости:
Библиотека zlib
Библиотека JPEG
Библиотека PNG
Библиотека TIFF (Опционально. Я безграмотный использовал, что-то около наравне мизерно малое численность проектов использует микроформат изображений «*.tiff»).
Перед компиляцией библиотеки скомпилируйте да установите однако зависимости!
2.3.2.1. Скачиваем последнюю стабильную версию исходников библиотеки SDL_image, для мгновение написания статьи последняя трансформация 0.2.12: SDL_image-1.2.12.tar.gz
2.3.2.2. Распаковываем переписанный картотека во папку «C:\Qt\build\SDL», исходники библиотеки должны являться во папке «C:\Qt\build\SDL\SDL_image-1.2.12».
2.3.2.3. Компилируем равным образом устанавливаем библиотеку SDL_image:
Запускаем «C:\Qt\MinGW\msys\1.0\msys.bat» тож ConEmu равно набираем во консольном окне такие команды:

Библиотека скомпилировалась не без; дефолтными параметрами. Если вы нужны какие-то специальные параметры, ведь их завсегда не запрещается трансформировать на пороге конфигурированием. Список доступных опций не возбраняется обозреть выполнив команду

0.3.2.4. Скомпилированные статическая да динамическая библиотеки, заголовочные файлы должны скопироваться во соответствующие папки:
Динамическая здание «SDL_image.dll» во «C:\Qt\MinGW\bin»
Статическая «libSDL_image.a» во «C:\Qt\MinGW\lib»
Хэдеры во «C:\Qt\MinGW\include\SDL»
2.3.2.5. На этом узел завершена. При желании дозволяется скомпилировать утилиту «showimage.exe»:

Если получи «showimage.exe» сместить что ни придется вид — оно откроется на окне.

< < Перейти для содержанию

0.3.3. Компиляция равным образом монтаж библиотеки SDL_net

Описание:
Официальный сайт: http://www.libsdl.org/projects/SDL_net/
Сетевая книжное собрание SDL_net является расширением ведущий библиотеки SDL равным образом позволяет пустить в ход во SDL-приложениях сеть. SDL_net позволяет программистам усилий обработавать сетевые соединения да передачу данных. Код, писаный вместе с использованием функций изо этой библиотеки, хорош кроссплатформенным.

Сборка:
2.3.3.1. Скачиваем последнюю стабильную версию исходников библиотеки SDL_net, нате час написания статьи последняя вариация 0.2.8: SDL_net-1.2.8.tar.gz
2.3.3.2. Распаковываем перекачанный картотека во папку «C:\Qt\build\SDL», исходники библиотеки должны существовать на папке «C:\Qt\build\SDL\SDL_net-1.2.8».
2.3.3.3. Компилируем равно устанавливаем библиотеку SDL_net:
Запускаем «C:\Qt\MinGW\msys\1.0\msys.bat» иначе говоря ConEmu равным образом набираем во консольном окне такие команды:

Библиотека скомпилировалась из дефолтными параметрами. Если вас нужны какие-то специальные параметры, в таком случае их спокон века дозволяется видоизменить прежде конфигурированием. Список доступных опций не грех вглядеться выполнив команду

0.3.3.4. Скомпилированные статическая равно динамическая библиотеки, заголовочные файлы должны скопироваться на соответствующие папки:
Динамическая книжное собрание «SDL_net.dll» на «C:\Qt\MinGW\bin»
Статическая «libSDL_net.a» на «C:\Qt\MinGW\lib»
Хэдер «SDL_net.h» на «C:\Qt\MinGW\include\SDL»

< < Перейти ко содержанию

0.3.4. Компиляция равным образом блок библиотеки SDL_gfx

Описание:
Официальный сайт: http://www.ferzkopp.net/joomla/content/view/19/14/
Библиотека SDL_gfx охватывает во себя функции рисования примитивов равно работы надо изображениями-спрайтами (масштабирование, повороты, фильтры равно т.д). Она развились изо проекта SDL_gfxPrimitives, каковой представлял основные процедуры рисования примитивов, таких как: линии, окружности да многоугольники. Библиотека неграмотный относится ко официальным, хотя большое численность проектов ее используют.

Сборка:
2.3.4.1. Скачиваем последнюю стабильную версию исходников библиотеки SDL_gfx, для секунда написания статьи последняя издание 0.0.24: SDL_gfx-2.0.24.tar.gz
2.3.4.2. Распаковываем списанный картотека на папку «C:\Qt\build\SDL», исходники библиотеки должны фигурировать во папке «C:\Qt\build\SDL\SDL_gfx-2.0.24».
2.3.4.3. Компилируем да устанавливаем библиотеку SDL_gfx:
Запускаем «C:\Qt\MinGW\msys\1.0\msys.bat» тож ConEmu равно набираем на консольном окне такие команды:

Если быть компиляции возникла ошибка:

Выполните команду:

И повторите конфигурирование, а кроме компиляцию.

Библиотека скомпилировалась из дефолтными параметрами. Если вас нужны какие-то специальные параметры, так их денно и нощно позволяется преобразовать до конфигурированием. Список доступных опций допускается поглядеть выполнив команду

0.3.4.4. Скомпилированные статическая равным образом динамическая библиотеки, заголовочные файлы должны скопироваться на соответствующие папки:
Динамическая книжное собрание «libSDL_gfx-14.dll» на «C:\Qt\MinGW\bin»
Статическая «libSDL_gfx.a» да «libSDL_gfx.dll.a» на «C:\Qt\MinGW\lib»
Хэдеры на «C:\Qt\MinGW\include\SDL»
2.3.4.5. На этом регулировка завершена. При желании позволительно скомпилировать утилиту «TestGfxTexture.exe»:

При запуске откроется окно, показывающее конец текстурирования.

< < Перейти для содержанию

0.3.5. Компиляция равным образом схема библиотеки SDL_ttf 0.0

Описание:
Официальный сайт: http://www.libsdl.org/projects/SDL_ttf/
SDL_ttf 0.0 представляет внешне библиотеку отрисовки шрифтов TrueType, да используется дружно не без; библиотекой SDL. Это позволяет программистам пустить в ход шрифты TrueType вне написания собственного рендера шрифта. Благодаря функциям масштабирования шрифтов да антиалиасинга дозволяется надергать высокое покрой вывода текста безо особых усилий.

Сборка:
Внимание! Зависимости:
Библиотека FreeType 0
Перед компиляцией библиотеки скомпилируйте равно установите совершенно зависимости!
2.3.5.1. Скачиваем последнюю стабильную версию исходников библиотеки SDL_ttf 0.0, для миг написания статьи последняя вариация 0.0.11: SDL_ttf-2.0.11.tar.gz
2.3.5.2. Распаковываем перекачанный картотека во папку «C:\Qt\build\SDL», исходники библиотеки должны оказываться на папке «C:\Qt\build\SDL\SDL_ttf-2.0.11» .
2.3.5.3. Компилируем равным образом устанавливаем библиотеку SDL_ttf 0.0:
Запускаем «C:\Qt\MinGW\msys\1.0\msys.bat» либо — либо ConEmu да набираем во консольном окне такие команды:

Библиотека скомпилировалась из дефолтными параметрами. Если вас нужны какие-то специальные параметры, так их всякий раз не возбраняется внести изменения предварительно конфигурированием. Список доступных опций не возбраняется окинуть взглядом выполнив команду

0.3.5.4. Скомпилированные статическая да динамическая библиотеки, заголовочные файлы должны скопироваться на соответствующие папки:
Динамическая помещение «SDL_ttf.dll» во «C:\Qt\MinGW\bin»
Статическая «libSDL_ttf.a» равным образом другие на «C:\Qt\MinGW\lib»
Хэдеры во «C:\Qt\MinGW\include\SDL»
2.3.5.5. На этом схема завершена. При желании не грех скомпилировать утилиту «showfont.exe»:

Если для «showfont.exe» перепереть все эквивалентно кто «*.ttf» фрактура — дьявол откроется во окне.

< < Перейти для содержанию

0.3.6. Компиляция да регулирование библиотеки SDL_mixer

Описание:
Официальный сайт: http://www.libsdl.org/projects/SDL_mixer/
SDL_mixer сие публичка микширования звука, которая может прилагаться купно вместе с библиотекой SDL. Она позволяет программистам пускать в ход звуки дружно не без; музыкой равным образом отнюдь не выводить собственные микшеры. Библиотека да упрощает загрузку, обработку да воспроизведения звуков да музыки всевозможных форматов файлов, на собираемой нами конфигурации помещение сможет нести такие форматы по образу «*.mp3», «*.ogg», «*.flac», «*.mod» равным образом порядком других.

Сборка:
Внимание! Зависимости:
Библиотека SDL
Библиотека OGG
Библиотека OggVorbis (libVorbis)
Библиотека FLAC
Библиотека MikMod
Библиотека MAD (libmad)
Перед компиляцией библиотеки скомпилируйте равным образом установите всё-таки зависимости!
2.3.6.1. Скачиваем последнюю стабильную версию исходников библиотеки SDL_mixer, в секунда написания статьи последняя разночтение 0.2.12: SDL_mixer-1.2.12.tar.gz
2.3.6.2. Распаковываем переписанный картотека на папку «C:\Qt\build\SDL», исходники библиотеки должны бытовать на папке «C:\Qt\build\SDL\SDL_mixer-1.2.12».
2.3.6.3. Открываем обложка «C:\Qt\build\SDL\SDL_mixer-1.2.12\Makefile.in» равным образом заменяем одинакие строки #69 равно #72:

сверху строку

по прошествии замены сохраняем файл.
2.3.6.4. Компилируем равно устанавливаем библиотеку SDL_mixer:
Запускаем «C:\Qt\MinGW\msys\1.0\msys.bat» иначе говоря ConEmu равным образом набираем во консольном окне такие команды:

Настоятельно рекомендую пускать в ход шифратор MAD, заместо нестабильного равным образом старого smpeg. Если у вы на процессе конфигурирования отнюдь не подцепляется FLAC, попробуйте сперва насадить строчку:

А далее поуже производить конфигурирование. Без этой строки «conftest.c» может безвыгодный слинковаться. После компиляции малограмотный забудьте выполнить:

Чтобы ограбить переменную окружения LIBS.

Если вас нужны какие-то специальные параметры, так их издревле не грех переменить накануне конфигурированием. Список доступных опций не запрещается поглядеть выполнив команду

0.3.6.5. Скомпилированные статическая равным образом динамическая библиотеки, заголовочные файлы должны скопироваться во соответствующие папки:
Динамическая ленинка «SDL_mixer.dll» на «C:\Qt\MinGW\bin»
Статическая «libSDL_mixer.a» равно оставшиеся во «C:\Qt\MinGW\lib»
Хэдер «SDL_mixer.h» на «C:\Qt\MinGW\include\SDL»
2.3.6.6. В комментариях обнаружилась интересная ляпсус возьми стадии линковки, быть компилировании библиотеки SDL_mixer компилятором MinGW (GCC 0.7.2). Ошибка возникала по поводу того, почто libtool, используевшийся к компиляции на SDL_mixer малограмотный был в силах подлинковать библиотеку libpthread, отвечающую после потоки да нужную про дефолтного конфигурирования libmikmod. В данном блоке показана прогрессия действий, выполнив которые ваша сестра сохраните многопоточность библиотеки libmikmod равно сможете скомпилировать равно найти библиотеку SDL_mixer.
Все образ действий актуальны держи время написания сего блока (04.06.2012).

Все библиотеки на зависимостях, вдобавок MikMod, конфигурируются, компилируются равным образом устанавливаются стандартно.
Библиотека «libmikmod-3.2.0» конфигурируется в эту пору так:

И, наконец, дворец книги «SDL_mixer-1.2.12» компилируется так:
2.3.6.6.1. Открываем обложка «C:\Qt\build\SDL\SDL_mixer-1.2.12\Makefile.in» да заменяем строки #26, #69 равным образом #72 для следующие,

сохраняя расписание соответственно.

Затем обычное конфигурирование равно компиляция:

Стоит заметить, почто днесь приложения, использующие SDL_mixer будут покамест призывать равным образом библиотеку «pthreadGC2.dll». В комментариях снедать упражнения сборок SDL_mixer вне libmikmod’a иначе со libmikmod’ом, хотя не принимая во внимание потоков.
2.3.6.7. На этом набор завершена. Для проверки правильности работы библиотеки позволяется скомпилировать токсоплазма плеер «sdlwav.exe». Для сего нужно скачать обложка « sdlwav.c «, спасти его на папку «C:\Qt\build\SDL» равно скомпилировать его следующим образом:

Теперь кабы получай «sdlwav.exe» сместить кто хочешь файл, держащий музыку или — или интонация на формате «*.mp3», «*.flac», «*.ogg», «*.wav» тож «*.mod» — дьявол полагается воспроизвестись, без участия сего должен вскрыться расстояние простенького визуализатора, разве иллюминатор со ним динамично ведь дозволительно перебросить место стрелками возьми клавиатуре или — или водрузить его возьми паузу пробелом.


Работа библиотеки SDL_mixer, скомпилированной MinGW

После запуска на файле «stdout.txt» (он склифосовский около из «sdlwav.exe»), не ведь — не то на выводе рента будут показаны доступные декодеры да их количество. Для нашей конфигурации SDL_mixer получился ближайший лог:

< < Перейти для содержанию

0.3.7. Компиляция равно схема библиотеки SDL_sound

Описание:
Официальный сайт: http://icculus.org/SDL_sound/
SDL_sound сие неофициальная библиотека, расширяющая потенциал SDL равным образом позволяющая эксплуатнуть функции декодирования да воспроизведения таких популярных форматов звуковых файлов, равно как «*.mp3», «*.wav» равным образом некоторых других. Она предназначена ради упрощения написания приложений. Является аналогом библиотеки SDL_mixer.

Сборка:
Внимание! Зависимости:
Библиотека OGG
Библиотека OggVorbis (libVorbis)
Библиотека FLAC
Библиотека libmodplug
Перед компиляцией библиотеки скомпилируйте да установите целое зависимости!
2.3.7.1. Скачиваем последнюю стабильную версию исходников библиотеки SDL_sound, получай секунда написания статьи последняя вариация 0.0.3: SDL_sound-1.0.3.tar.gz
2.3.7.2. Распаковываем переписанный картотека во папку «C:\Qt\build\SDL», исходники библиотеки должны существовать на папке «C:\Qt\build\SDL\SDL_sound-1.0.3».
2.3.7.3. Открываем обложка «C:\Qt\build\SDL\SDL_sound-1.0.3\decoders\mpglib\mpg123_sdlsound.h» да заменяем строку #8:

таким содержимым:

по времени сохраняем файл.
2.3.7.4. Открываем обложка «C:\Qt\build\SDL\SDL_sound-1.0.3\decoders\timidity\tables.h» да комментируем строку #23:

по времени сохраняем файл.
2.3.7.5. Компилируем равным образом устанавливаем библиотеку SDL_sound:
Запускаем «C:\Qt\MinGW\msys\1.0\msys.bat» тож ConEmu равным образом набираем во консольном окне такие команды:

Если у вам на процессе конфигурирования никак не подцепляется FLAC, попробуйте спервоначала подсоединить строчку:

А позже поуже производить конфигурирование. Без этой строки «conftest.c» может неграмотный слинковаться. После компиляции малограмотный забудьте выполнить:

Чтобы промыть переменную окружения LIBS. Библиотека скомпилировалась со стандартными параметрами. Если вас нужны какие-то специальные параметры, ведь их век позволительно трансформировать пизда конфигурированием. Список доступных опций не возбраняется поглядеть выполнив команду

0.3.7.6. Скомпилированная статическая комната равно утилиты, заголовочные файлы должны скопироваться во соответствующие папки:
Утилиты «playsound_simple.exe» равным образом «playsound.exe» на «C:\Qt\MinGW\bin»
Статическая «libSDL_sound.a» равным образом другие во «C:\Qt\MinGW\lib»
Хэдер «SDL_sound.h» на «C:\Qt\MinGW\include\SDL»
2.3.7.7. На этом монтаж завершена. Для проверки правильности работы библиотеки перенесите кто хочешь файл, включающий музыку или — или аккорд во формате «*.mp3», «*.flac», «*.ogg», «*.wav» или — или «*.mod» для неаккуратный бинарник «playsound.exe», тот или иной расположен соответственно адресу «C:\Qt\MinGW\bin», равным образом возлюбленный надо воспроизвестись.

< < Перейти ко содержанию

0.3.8. Компиляция равно монтаж библиотеки SDL_draw

Описание:
Официальный сайт: http://sdl-draw.sourceforge.net/
Небольшая неофициальная библиотечка на рисования различных графических примитивов.

Сборка:
2.3.8.1. Скачиваем последнюю стабильную версию исходников библиотеки SDL_draw, сверху минута написания статьи последняя видоизменение 0.2.13: SDL_draw-1.2.13.tar.gz
2.3.8.2. Распаковываем перекачанный картотека на папку «C:\Qt\build\SDL», исходники библиотеки должны фигурировать на папке «C:\Qt\build\SDL\SDL_draw-1.2.13».
2.3.8.3. Компилируем равным образом устанавливаем библиотеку SDL_draw:
Запускаем «C:\Qt\MinGW\msys\1.0\msys.bat» либо — либо ConEmu равным образом набираем во консольном окне такие команды:

Библиотека скомпилировалась со дефолтными параметрами. Если вас нужны какие-то специальные параметры, ведь их издревле позволено реформировать прежде конфигурированием. Список доступных опций допускается отнестись выполнив команду

0.3.8.4. Скомпилированная статическая библиотека, заголовочные файлы должны скопироваться на соответствующие папки:
Статическая «libSDL_draw.a» во «C:\Qt\MinGW\lib»
Хэдер «SDL_draw.h» на «C:\Qt\MinGW\include\SDL»

< < Перейти ко содержанию

0.3.9. Компиляция да схема библиотеки SDL_console

Описание:
Официальный сайт: http://wacha.ch/wiki/sdlconsole
SDL_Console реализует выпадающую консоль, в духе на Quake, которая может бытийствовать несложно добавлена во что бы ни SDL-приложение. С через выполнения предопределенных команд на рента вас можете несомненно распоряжаться своим приложением. Добавить дозволено изрядно консолей одновременно.

Сборка:
Внимание! Зависимости:
Библиотека SDL_image
Перед компиляцией библиотеки скомпилируйте да установите постоянно зависимости!
2.3.9.1. Скачиваем последнюю стабильную версию исходников библиотеки SDL_console, нате час написания статьи последняя вариация 0.1: sdlconsole-2.1.tar.gz
2.3.9.2. Распаковываем переписанный картотека на папку «C:\Qt\build\SDL», исходники библиотеки должны взяться во папке «C:\Qt\build\SDL\sdlconsole-2.1» .
2.3.9.3. Компилируем равным образом устанавливаем библиотеку SDL_console:
Запускаем «C:\Qt\MinGW\msys\1.0\msys.bat» иначе ConEmu да набираем на консольном окне такие команды:

Библиотека скомпилировалась не без; дефолтными параметрами. Если вас нужны какие-то специальные параметры, так их постоянно не грех обновить пизда конфигурированием. Список доступных опций не грех обозреть выполнив команду

0.3.9.4. Скомпилированная статическая библиотека, заголовочные файлы должны скопироваться на соответствующие папки:
Статическая «libSDL_console.a» во «C:\Qt\MinGW\lib»
Хэдеры на «C:\Qt\MinGW\include\SDL_console»

< < Перейти для содержанию

0.4. Компиляция равным образом сборка zlib библиотеки

Описание:
Официальный сайт: http://zlib.net/
zlib сие незамужняя кроссплатформенная здание для того сжатия данных. Используется во огромном количестве приложений равно библиотек.

Сборка:
2.4.1. Скачиваем последнюю стабильную версию исходников библиотеки zlib, держи мгновение написания статьи последняя разновидность 0.2.7: zlib-1.2.7.tar.gz
2.4.2. Распаковываем списанный картотека во папку «C:\Qt\build», исходники библиотеки должны бытийствовать во папке «C:\Qt\build\zlib-1.2.7».
2.4.3. Если вы необходима динамическая книжное собрание «zlib1.dll», так открываем обложка «C:\Qt\build\zlib-1.2.7\win32\Makefile.gcc» равным образом правим строку #32 следующим образом:

Просто меняем «0» возьми «1» .
2.4.4. Компилируем да устанавливаем zlib-библиотеку:
Запускаем «C:\Qt\MinGW\msys\1.0\msys.bat» тож ConEmu равно набираем во консольном окне такие команды:

0.4.5. Скомпилированные статическая равным образом динамическая библиотеки, заголовочные файлы должны скопироваться на соответствующие папки:
Динамическая комната «zlib1.dll» на «C:\Qt\MinGW\bin»
Статические «libz.a» да накипь во «C:\Qt\MinGW\lib»
Хэдеры во «C:\Qt\MinGW\include»

< < Перейти для содержанию

0.5. Компиляция равно регулировка JPEG библиотеки

Описание:
Официальный сайт: http://www.ijg.org/
Функции изо библиотеки libjpeg используются различными программами равно другими библиотеками интересах работы из форматами изображений «*.jpg», «*.jpeg» да другими. Библиотека создана сообществом «Independent JPEG Group».

Сборка:
2.5.1. Скачиваем последнюю стабильную версию исходников библиотеки libjpeg, бери миг написания статьи последняя сие v9: jpegsrc.v9.tar.gz
2.5.2. Распаковываем списанный картотека во папку «C:\Qt\build\Image», исходники библиотеки должны составлять на папке «C:\Qt\build\Image\jpeg-9».
2.5.3. Компилируем равным образом устанавливаем JPEG-библиотеку:
Примечание: буде ваша сестра собираете библиотеку jpeg, ранней 0-ой версии (jpeg-9 alpha), так для того корректной сборки подобает облечь плотью и кровью команду:

на пороге конфигурированием, а то довольно происходить разноречивость типов рядом компиляции (error: conflicting types for ‘jpeg_suppress_tables’).
Сейчас разработчики исправили данный недочет, отчего команду «autoheader» не запрещается невыгодный использовать.

Запускаем «C:\Qt\MinGW\msys\1.0\msys.bat» тож ConEmu да набираем на консольном окне такие команды:

Библиотека скомпилировалась не без; дефолтными параметрами. Если вас нужны какие-то специальные параметры, ведь их денно и нощно дозволяется внести изменения под конфигурированием. Список доступных опций не запрещается оценить выполнив команду

0.5.4. Скомпилированные статическая да динамическая библиотеки, заголовочные файлы должны скопироваться на соответствующие папки:
Динамическая публичка «libjpeg-9.dll» равно бинарные программы на «C:\Qt\MinGW\bin»
Статические «libjpeg.a» равным образом «libjpeg.dll.a» во «C:\Qt\MinGW\lib»
Хэдеры во «C:\Qt\MinGW\include»

< < Перейти для содержанию

0.6. Компиляция да прибор PNG библиотеки

Описание:
Официальный сайт: http://www.libpng.org/pub/png/libpng.html
Библиотека libpng — сие официальная публичка чтобы работы из растровой графикой во формате «*.png». Библиотека является платформо-независимой равным образом состоит с множества функций.

Сборка:
Внимание! Зависимости:
Библиотека zlib
Перед компиляцией библиотеки скомпилируйте равным образом установите всегда зависимости!
2.6.1. Скачиваем последнюю стабильную версию исходников библиотеки libpng, в пора написания статьи последняя вариация 0.6.3: libpng-1.6.3.tar.gz
2.6.2. Распаковываем переписанный картотека на папку «C:\Qt\build\Image», исходники библиотеки должны присутствовать на папке «C:\Qt\build\Image\libpng-1.6.3».
2.6.3. Компилируем равно устанавливаем PNG-библиотеку:
Запускаем «C:\Qt\MinGW\msys\1.0\msys.bat» тож ConEmu да набираем на консольном окне такие команды:

Библиотека скомпилировалась из дефолтными параметрами. Если вас нужны какие-то специальные параметры, ведь их завсегда не возбраняется видоизменить предварительно конфигурированием. Список доступных опций дозволено поглядеть выполнив команду

0.6.4. Скомпилированные статическая равным образом динамическая библиотеки, заголовочные файлы должны скопироваться во соответствующие папки:
Бинарные программы во «C:\Qt\MinGW\bin»
Статические «libpng.a» равным образом прочие во «C:\Qt\MinGW\lib»
Хэдеры во «C:\Qt\MinGW\include»
2.6.5. На этом монтаж завершена. При желании дозволяется скомпилировать утилиту «pngtest.exe»:

Её запускание выдаст во микроконсоль результаты тестирования файла «pngtest.png», находящегося во папке «libpng-1.6.3».

< < Перейти ко содержанию

0.7. Компиляция равным образом блок TIFF библиотек

Описание:
Официальный сайт: http://www.remotesensing.org/libtiff/
LibTIFF — представляет с лица настройка библиотек равно утилит для того просмотра равно редактирования изображений формата «.tiff» не так — не то «*.tif». Создана компьютерной компанией Silicon Graphics.

Сборка:
Внимание! Зависимости:
Библиотека zlib
Библиотека JPEG
Перед компиляцией библиотеки скомпилируйте равно установите безвыездно зависимости!
2.7.1. Скачиваем последнюю стабильную версию исходников библиотеки libtiff, держи миг написания статьи последняя вариация 0.0.3: tiff-4.0.3.tar.gz
2.7.2. Распаковываем списанный картотека на папку «C:\Qt\build\Image», исходники библиотеки должны являться на папке «C:\Qt\build\Image\tiff-4.0.3».
2.7.3. Компилируем да устанавливаем TIFF-библиотеки:
Запускаем «C:\Qt\MinGW\msys\1.0\msys.bat» не ведь — не то ConEmu равным образом набираем на консольном окне такие команды:

Библиотека скомпилировалась не без; дефолтными параметрами. Если вы нужны какие-то специальные параметры, в таком случае их всякий раз позволяется трансформировать хуй конфигурированием. Список доступных опций не запрещается окинуть взглядом выполнив команду

0.7.4. Скомпилированные статическая да динамическая библиотеки, заголовочные файлы должны скопироваться во соответствующие папки:
Динамические библиотеки «libtiff-5.dll», «libtiffxx-5.dll» да бинарные программы во «C:\Qt\MinGW\bin»
Статические «libtiff.a» да оставшиеся на «C:\Qt\MinGW\lib»
Хэдеры во «C:\Qt\MinGW\include»

< < Перейти для содержанию

0.8. Компиляция да набор библиотеки FreeType 0

Описание:
Официальный сайт: http://www.freetype.org/
FreeType 0 — дворец книги про растеризации шрифтов равным образом операций надо ними. Библиотека несравненно упрощает операции обработки текста равным образом используется умереть и далеко не встать многих *nix-подобных системах.

Сборка:
Внимание! Зависимости:
Библиотека zlib
Перед компиляцией библиотеки скомпилируйте равным образом установите совершенно зависимости!
2.8.1. Скачиваем последнюю стабильную версию исходников библиотеки FreeType 0, сверху мгновение написания статьи последняя трансформация 0.5.0.1: freetype-2.5.0.1.tar.gz
2.8.2. Распаковываем списанный картотека во папку «C:\Qt\build», исходники библиотеки должны оказываться во папке «C:\Qt\build\freetype-2.5.0.1» .
2.8.3. Компилируем да устанавливаем библиотеку FreeType 0:
Запускаем «C:\Qt\MinGW\msys\1.0\msys.bat» тож ConEmu да набираем во консольном окне такие команды:

Библиотека скомпилировалась не без; дефолтными параметрами. Если вас нужны какие-то специальные параметры, в таком случае их вечно дозволительно поменять хуй конфигурированием. Список доступных опций дозволено оценить выполнив команду

0.8.4. Скомпилированные статическая равно динамическая библиотеки, заголовочные файлы должны скопироваться на соответствующие папки:
Динамическая книжное собрание «libfreetype-6.dll» во «C:\Qt\MinGW\bin»
Статическая «libfreetype.a» равно накипь на «C:\Qt\MinGW\lib»
Хэдеры во «C:\Qt\MinGW\include\freetype2\freetype»

< < Перейти ко содержанию

0.9. Компиляция да прибор OGG библиотеки

Описание:
Официальный сайт: http://xiph.org/ogg/
OGG сие мультимедийный формат, представляющий на вывеску дегтярница чтобы родных (нативных) файлов равным образом объем потока для того различных мультимедийных кодеков. Формат OGG является потокоориентированным.

Сборка:
2.9.1. Скачиваем последнюю стабильную версию исходников библиотеки OGG, бери миг написания статьи последняя издание 0.3.1: libogg-1.3.1.tar.gz
2.9.2. Распаковываем перекачанный картотека на папку «C:\Qt\build\Audio», исходники библиотеки равно утилит должны присутствовать во папке «C:\Qt\build\Audio\libogg-1.3.1» .
2.9.3. Компилируем равно устанавливаем библиотеку OGG:
Запускаем «C:\Qt\MinGW\msys\1.0\msys.bat» тож ConEmu равно набираем на консольном окне такие команды:

Библиотека скомпилировалась не без; дефолтными параметрами. Если вас нужны какие-то специальные параметры, в таком случае их всякий раз дозволено переменить пред конфигурированием. Список доступных опций позволяется обозреть выполнив команду

0.9.4. Скомпилированные статическая равным образом динамическая библиотеки, заголовочные файлы должны скопироваться во соответствующие папки:
Динамическая здание «libogg-0.dll» на «C:\Qt\MinGW\bin»
Статическая «libogg.a» да оставшиеся во «C:\Qt\MinGW\lib»
Хэдеры во «C:\Qt\MinGW\include\ogg»

< < Перейти ко содержанию

0.10. Компиляция да прибор OggVorbis (libVorbis) библиотеки

Описание:
Официальный сайт: http://www.vorbis.com
OggVorbis сие недавний величина сжатия звука. Он приблизительно сопоставим вместе с другими популярными форматами, используемыми чтобы хранения равно воспроизведения дигитальный музыки, такими по образу MP3, VQF, AAC да другими. OggVorbis отличается ото других форматов тем, сколько некто до конца бесплатный, публичный да спецификации кодека Vorbis относятся ко общественному достоянию.

Сборка:
Внимание! Зависимости:
Библиотека OGG
Перед компиляцией библиотеки скомпилируйте равно установите до сей времени зависимости!
2.10.1. Скачиваем последнюю стабильную версию исходников библиотеки OggVorbis (libVorbis), получай пора написания статьи последняя вариант 0.3.3: libvorbis-1.3.3.tar.gz
2.10.2. Распаковываем списанный картотека на папку «C:\Qt\build\Audio», исходники библиотеки равным образом утилит должны фигурировать во папке «C:\Qt\build\Audio\libvorbis-1.3.3».
2.10.3. Компилируем равным образом устанавливаем библиотеку OggVorbis (libVorbis):
Запускаем «C:\Qt\MinGW\msys\1.0\msys.bat» alias ConEmu равным образом набираем во консольном окне такие команды:

Библиотека скомпилировалась от дефолтными параметрами. Если вы нужны какие-то специальные параметры, ведь их всякий раз дозволено преобразовать под конфигурированием. Список доступных опций допускается рассмотреть выполнив команду

0.10.4. Скомпилированные статическая равно динамическая библиотеки, заголовочные файлы должны скопироваться на соответствующие папки:
Динамические библиотеки «libvorbis-0.dll», «libvorbisfile-3.dll» да «libvorbisenc-2.dll» во «C:\Qt\MinGW\bin»
Статические «libvorbis.a», «libvorbisenc.a», «libvorbisfile.a» равным образом накипь во «C:\Qt\MinGW\lib»
Хэдеры во «C:\Qt\MinGW\include\vorbis»

< < Перейти для содержанию

0.11. Компиляция да прибор библиотеки FLAC

Описание:
Официальный сайт: http://xiph.org/flac/
FLAC расшифровывается на правах Free Lossless Audio Codec, сей аудиоформат аналогичен формату MP3, да стягивание во нем происходит без участия потерь качества. Он работает сродни ZIP, однако из FLAC ваш брат нате незначительно лучшее сжатие, потому что разработан дьявол был сознательно чтобы звука. Из аналогичных кодеков FLAC выделяется тем, зачем возлюбленный неграмотный всего только самый быстрый, однако до сего поры равно безвыгодный являеющийся чей-либо собственностью, а итак невыгодный обременёный патентами. Кроме того, FLAC имеет открытые исходники эталонной реализации, недурно документированный мера да API.

Сборка:
Внимание! Зависимости:
Библиотека OGG
Перед компиляцией библиотеки скомпилируйте да установите весь зависимости!
2.11.1. Скачиваем последнюю стабильную версию исходников библиотеки FLAC, бери миг написания статьи последняя видоизменение 0.2.1: flac-1.2.1.tar.gz
2.11.2. Распаковываем переписанный картотека на папку «C:\Qt\build\Audio», исходники библиотеки да утилит должны состоять во папке «C:\Qt\build\Audio\flac-1.2.1» .
2.11.3. Открываем обложка «C:\Qt\build\Audio\flac-1.2.1\include\share\alloc.h», равно заменяем строку #38 (# ifdef _MSC_VER) таковский строкой:

задним числом добавления сохраняем файл.
2.11.4. Открываем обложка «C:\Qt\build\Audio\flac-1.2.1\examples\cpp\encode\file\main.cpp», добавляем в дальнейшем строки #32 (#include <stdlib.h>) такую строку (добавляем хэдер):

со временем добавления сохраняем файл.
2.11.5. Компилируем равно устанавливаем библиотеку FLAC:
Запускаем «C:\Qt\MinGW\msys\1.0\msys.bat» иначе ConEmu равно набираем на консольном окне такие команды:

Если вы нужны какие-то специальные параметры, так их спокон века допускается внести изменения пред конфигурированием. Список доступных опций допускается отнестись выполнив команду

0.11.6. Скомпилированные статическая библиотека, бинарные утилиты да заголовочные файлы должны скопироваться во соответствующие папки:
Исполнительные бинарники «flac.exe» равным образом «metaflac.exe» на «C:\Qt\MinGW\bin»
Статические библиотеки «libFLAC.a» да «libFLAC++.a» на «C:\Qt\MinGW\lib»
Хэдеры во «C:\Qt\MinGW\include\FLAC» да на «C:\Qt\MinGW\include\FLAC++»

< < Перейти для содержанию

0.12. Компиляция да регулирование библиотеки MikMod

Описание:
Официальный сайт: http://mikmod.shlomifish.org/
Библиотека MikMod предназначена к работы от трекерной музыкой. Написанные умышленно ради MS-DOS, плеер да библиотека, засим были портированы сверху иные платформы, такие в качестве кого Unix, Macintosh, BeOS да Java.

Сборка:
2.12.1. Скачиваем последнюю стабильную версию исходников библиотеки MikMod, в одну секунду написания статьи последняя вариация 0.2.0: libmikmod-3.2.0.tar.gz
2.12.2. Распаковываем списанный картотека на папку «C:\Qt\build\Audio», исходники библиотеки равным образом утилит должны состоять во папке «C:\Qt\build\Audio\libmikmod-3.2.0».
2.12.3. Открываем обложка «C:\Qt\build\Audio\libmikmod-3.2.0\drivers\drv_pipe.c», добавляем впоследствии строки #33 такую строку:

позже добавления сохраняем файл.
2.12.4. Открываем обложка «C:\Qt\build\Audio\libmikmod-3.2.0\playercode\mdriver.c», добавляем по прошествии строки #27 такую строку:

позднее добавления сохраняем файл.
2.12.5. Компилируем равно устанавливаем библиотеку MikMod:
Запускаем «C:\Qt\MinGW\msys\1.0\msys.bat» не в таком случае — не то ConEmu равным образом набираем во консольном окне такие команды:

Библиотека скомпилировалась из дефолтными параметрами. Если вы нужны какие-то специальные параметры, ведь их вечно дозволено видоизменить на пороге конфигурированием. Список доступных опций позволяется взглянуть выполнив команду

0.12.6. Скомпилированная статическая библиотека, заголовочные файлы должны скопироваться во соответствующие папки:
Конфигурационный «libmikmod-config» во «C:\Qt\MinGW\bin»
Статическая комната «libmikmod.a» во «C:\Qt\MinGW\lib»
Хэдер «mikmod.h» на «C:\Qt\MinGW\include»

< < Перейти ко содержанию

0.13. Компиляция да регулировка библиотеки MAD (libmad)

Описание:
Официальный сайт: http://www.underbit.com/products/mad
MAD (libmad) сие превосходный MPEG-audio декодер. В сегодняшнее срок дьявол поддерживает MPEG-1 равным образом MPEG-2, а как и границы MPEG 0.5. Все три аудио слоя — Layer I, Layer II равно Layer III (MP3) — шифратор поддерживает на полном объеме.
MAD доколь неграмотный работает из многоканальным MPEG-2 звуком (хотя спирт повинен состоять совместим вместе с потоком) равно безвыгодный поддерживает AAC.

Сборка:
2.13.1. Скачиваем последнюю стабильную версию исходников библиотеки MAD (libmad), для одну секунду написания статьи последняя модификация 0.15.1b: libmad-0.15.1b.tar.gz
2.13.2. Распаковываем списанный картотека во папку «C:\Qt\build\Audio», исходники библиотеки равно утилит должны взяться во папке «C:\Qt\build\Audio\libmad-0.15.1b».
2.13.3. Открываем обложка «C:\Qt\build\Audio\libmad-0.15.1b\configure» обычным текстовым редактором (я советую пустить в дело Notepad++) да находим строку #19102:

равно удаляем ее вообще со переносами. То поглощать с намерением строкой #19102 стала строка:

После модификации сохраняем файл.
2.13.4. Компилируем да устанавливаем библиотеку MAD (libmad):
Запускаем «C:\Qt\MinGW\msys\1.0\msys.bat» либо ConEmu равным образом набираем во консольном окне такие команды:

Библиотека скомпилировалась от дефолтными параметрами. Если вас нужны какие-то специальные параметры, в таком случае их денно и нощно допускается видоизменить пред конфигурированием. Список доступных опций не возбраняется поглядеть выполнив команду

0.13.5. Скомпилированная статическая библиотека, заголовочные файлы должны скопироваться на соответствующие папки:
Статическая книгохранилище «libmad.a» во «C:\Qt\MinGW\lib»
Хэдер «mad.h» на «C:\Qt\MinGW\include»

< < Перейти ко содержанию

0.14. Компиляция да блок библиотеки OpenAL

Описание:
Официальный сайт: http://connect.creativelabs.com/openal/
OpenAL тож Open Audio Library, сие гладко распространяемая кроссплатформенная библиотечка API про работы из аудиоданными. Ключевая сторона — эксплуатация со звуком во 0D пространстве да оборот эффектов EAX. Библиотека разработана фирмой Loki Software равным образом на реальный поддерживается компанией Creative.

Сборка:
Внимание!
Для компиляции необходим
CMake
2.14.1. Скачиваем последнюю стабильную версию исходников библиотеки OpenAL, нате час написания статьи последняя модифицирование 0.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 да набираем на консольном окне такие команды:

0.14.4. Скомпилированные статическая да динамическая библиотеки, заголовочные файлы равным образом утилиты должны скопироваться на соответствующие папки:

< < Перейти ко содержанию

0.15. Компиляция да монтаж библиотеки ALUT (freealut)

Описание:
Официальный сайт: http://connect.creativelabs.com/openal/
Freealut сие холостая отпуск стандарта OpenAL’s ALUT.

Сборка:
Внимание!
Для компиляции необходим
CMake
Зависимости:
Библиотека OpenAL
Перед компиляцией библиотеки скомпилируйте равно установите весь зависимости!
2.15.1. Скачиваем последнюю стабильную версию исходников библиотеки ALUT (freealut), держи пора написания статьи последняя разночтение 0.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 равным образом набираем во консольном окне такие команды:

0.15.4. Скомпилированные статическая равным образом динамическая библиотеки, заголовочные файлы должны скопироваться на соответствующие папки:

0.15.5. Компиляция равным образом пуск демо-кода.
2.15.5.1. Создаем обложка «alutdemo.c» во папке «C:\Qt\build\Audio», вставляем на него такое содержимое:

равным образом сохраняем.
2.15.5.2. Для компиляции заключение запускаем «C:\Qt\MinGW\msys\1.0\msys.bat» да набираем на консольном окне такие команды:

Данные команды скомпилируют адрес на исправный обложка «alutdemo.exe», около запуске которого ваша милость услышите фразу «Hello, World!».

< < Перейти для содержанию

0.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), получи секунда написания статьи последняя вариация 0.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 равным образом набираем на консольном окне такие команды:

Если рядом конфигурации возникла ошибка:

Попробуйте отключить антивирус. Антивирусу «Avira Free Antivir» далеко не понравился одиночный с тестовых исполнительных файлов, создаваемых умереть и неграмотный встать промежуток времени конфигурации.
Итак, публичка скомпилировалась вместе с дефолтными параметрами. Если вы нужны какие-то специальные параметры, так их спокон века позволительно переменить пизда конфигурированием. Список доступных опций дозволяется глянуть выполнив команду

0.16.4. Cборка библиотеки cURL на git ‘a из через CMake . Запускаем «C:\Qt\MinGW\msys\1.0\msys.bat» или — или ConEmu да набираем во консольном окне такие команды:

0.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»

< < Перейти для содержанию

0.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 равным образом набираем на консольном окне такие команды:

Библиотека скомпилировалась от дефолтными параметрами. Если вас нужны какие-то специальные параметры, ведь их издревле дозволено переменить предварительно конфигурированием. Список доступных опций дозволяется осмотреть выполнив команду

0.17.4. Скомпилированные статическая да динамическая библиотеки, заголовочные файлы должны скопироваться на соответствующие папки:
Динамическая книжное собрание «libmodplug-1.dll» во «C:\Qt\MinGW\bin»
Статическая «libmodplug.dll.a» равно другие во «C:\Qt\MinGW\lib»
Хэдеры во «C:\Qt\MinGW\include\libmodplug»

< < Перейти ко содержанию

0.18. Компиляция равно регулирование библиотеки равно утилит OpenSSL

Описание:
Официальный сайт: http://www.openssl.org/
OpenSSL — шифровальный блок (утилиты + библиотеки) вместе с открытым исходным кодом про работы из SSL/TLS. Позволяет созидать разные ключи как RSA, DH, DSA да сертификаты X.509, подписывать их, организовывать CSR равным образом CRT. Кроме того нет перевода достижимость шифрования данных да тестирования SSL/TLS соединений.

Сборка:
2.18.1. Скачиваем последнюю стабильную версию исходников библиотеки OpenSSL, получи и распишись час написания статьи последняя модифицирование 0.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 равным образом набираем во консольном окне такие команды:

Компилирование OpenSSL равным образом его установка, хватит за глаза длительный процесс.
2.18.4. Скомпилированные статическая равно динамическая библиотеки, заголовочные файлы равным образом утилиты должны скопироваться во соответствующие папки:
Утилита «openssl.exe» во «C:\Qt\MinGW\bin»
Статические «libssl.a» да «libcrypto.a» на «C:\Qt\MinGW\lib»
Хэдеры на «C:\Qt\MinGW\include\openssl»

< < Перейти для содержанию

0.19. Компиляция равным образом узел библиотеки Expat

Описание:
Официальный сайт: http://expat.sourceforge.net/
Expat — сие холостая потокоориентированная библиотечка парсинга пользу кого XML. Водан изо особо доступных XML парсеров, полно хорошо используется во открытом программном обеспечении.

Сборка:
2.19.1. Скачиваем последнюю стабильную версию исходников библиотеки Expat, держи одну секунду написания статьи последняя вариант 0.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 да набираем на консольном окне такие команды:

Библиотека скомпилировалась не без; дефолтными параметрами. Если вы нужны какие-то специальные параметры, так их век дозволено модифицировать на пороге конфигурированием. Список доступных опций дозволяется глянуть выполнив команду

0.19.4. Скомпилированные статическая равно динамическая библиотеки, заголовочные файлы должны скопироваться во соответствующие папки:
Динамическая публичка «libexpat-1.dll» на «C:\Qt\MinGW\bin»
Статическая «libexpat.a» равно оставшиеся на «C:\Qt\MinGW\lib»
Хэдеры на «C:\Qt\MinGW\include»

< < Перейти для содержанию

0.20. Компиляция равно регулирование библиотеки ZZIPlib

Описание:
Официальный сайт: http://zziplib.sourceforge.net/
ZZIPlib — сие легковесная дворец книги интересах работы со сжатыми файлами равным образом ZIP-архивами.

Сборка:
Внимание! Зависимости:
Библиотека zlib
Python 0.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», находим во файле строки:

равно заменяем на:

итого двум таких строки.

0.20.5. Компилируем да устанавливаем библиотеку ZZIPlib:
Запускаем «C:\Qt\MinGW\msys\1.0\msys.bat» либо ConEmu равно набираем на консольном окне такие команды:

Библиотека скомпилировалась из дефолтными параметрами. Если вас нужны какие-то специальные параметры, так их вечно дозволено модифицировать накануне конфигурированием. Список доступных опций позволяется осмотреть выполнив команду

0.20.6. Скомпилированные статические библиотеки, заголовочные файлы должны скопироваться на соответствующие папки:
Статические «libzzip*.a» во «C:\Qt\MinGW\lib»
Хэдеры на «C:\Qt\MinGW\include\zzip»

< < Перейти ко содержанию

0. Интеграция MinGW не без; IDE

Разрабатывать приложения, пользуясь консольной оболочкой, далеко не по всем статьям привычно, несомненно да топать нужно во ногу со временем. Поэтому дружно из нашим собранным тулчейном ваш покорный слуга рекомендую истощить среду разработки QtCreator ото Digia.
Среда и позволит вы эксплуатировать оконные приложения, используя мощнейший фреймворк Qt. Цена вопроса — 000-400 МБ на загрузки сборки перед MinGW. Зато удобств — максимум. В QtCreator убирать равно автодополнение стих равно настраиваемая подсветка, лакомиться пусть даже производительность эмуляции vim, если бы вас олигодон что-то около для нему привыкли.
Внешний облик QtCreator (изображение кликабельно):


Внешний видимость QtCreator

Установка на редкость проста:
1. Нужно найти применение сборку библиотек Qt в целях MinGW (на миг написания статьи их последняя вариация 0.8.4): [DOWNLOAD | СКАЧАТЬ] .
2. Установить библиотеки во «C:\Qt\qt-4.8.4», установитель спросит колея для компилятору, нужно установить «C:\Qt\MinGW», разве монтер ругнется получай хэдер, ни плошки страшного, дозволено продолжить.
3. Загрузить в конечном счете самолично QtCreator (на минута написания статьи его последняя разновидность 0.6.1): [DOWNLOAD | СКАЧАТЬ] .
4. Установить QtCreator на «C:\Qt\qtcreator-2.6.1».
5. Среда готова для написанию программ! Кстати, исключая удобного qmake, дано встроенная крыша CMake, да возле условии, почто да мы не без; тобой оный cmake установили.

Если у вам возникли проблемы в области установке, горячо рекомендую зайти на огонек поразительный сайт http://qtlinux.narod.ru , немного погодя ваш брат найдете неодинаковые мануалы за установке равно тонкой настройки этой IDE.

< < Перейти ко содержанию

Dev , Manuals , Others

Установка MinGW/MSYS равным образом юстировка окружения чтобы разработчика: 00 комментариев

  1. Спасибо после хорошую статью. Давно искал такую. Но возникли ошибки около сборке SDL_mixer. Сначала собрал безвыездно зависимости Библиотека OGG
    Библиотека OggVorbis (libVorbis)
    Библиотека FLAC
    Библиотека MikMod
    Библиотека MAD (libmad)
    Строго за инструкции. Все собралось хорошо, а вишь рядом сборке SDL_mixer возникли 0 Warning равным образом ошибки.

    Собирал за Windows 0 04. Все пакеты последних версий. Прошу помоч.

    1. Попробуйте преддверие сборкой облечь в тело и кровь во терминале следующее:
      export LDFLAGS=»-lpthread» иначе LIBS=»-lpthread», следует собраться.
      Если линковка достаточно успешной, уберите примежеванный стяг командой:
      export -n LDFLAGS другими словами export -n LIBS

      Компиляция у вам проходит успешно, а здание libpthread невыгодный подлинковывается.
      Если способом вне невыгодный следовательно хлопнуть проблему, попробуйте пересобрать libmikmod, от такого склада но опцией на CFLAGS, равно взглянуть бережно получи и распишись опции, доступные по мнению команде ./configure —help, после этого мертвяк лакомиться как бы оборона многопоточность.

      Если вас невыгодный хорэ трудно, можете направить что такое? ради версии mikmod равно SDL_mixer вам используете?

      1. Версия mikmod — 0.2.0, SDL_mixer — 0.2.12.
        Я чисто понял? Необходимо в дополнение тех инструкций, зачем на описании присыпать -lpthread?, т.е. так:

          1. Ничего малограмотный помогает :(. Не видит библиотеку pthread.a. равно по прошествии перекомпиляции вместе с вышеуказанными параметрами равно потом того, наравне пересобрал библиотеку mikmod c указанием LIBS=»-L/mingw/lib -lpthread». При конфигурировании указал параметр —enable-threads.

            Ошибка та же:

            Подскажите пожалуйста, равно как заключая отключить библиотеку mikmod изо сборки SDL_mixer?

            1. Простите, неграмотный заметил, в сущности ваша милость использовали MinGW (GCC 0.7.2). Так вот, от каждым повышением версии GCC, создается куча проблем на кросскомпиляции каких-либо библиотек, сии проблемы никуда не денешься решать.
              Я крошку выкроил на вы миг да попробовал снарядить необходимую вы библиотеку.

              Путей с целью решения этой ошибки компиляции (линковки) ваш покорный слуга вижу несколько.
              1. Полностью отключить библиотеку libmikmod изо сборки SDL_mixer, что вам да сказали.
              Это делается порядком элементарно, нужно сконфигурировать библиотеку SDL_mixer из опцией —disable-music-mod.

              0. Оставить поддержку медиа-файлов трекерной музыки, выключив многопоточность на библиотеке libmikmod. Это делается опцией —disable-threads около ее конфигурировании.

              0. Оставить многопоточность на библиотеке, одну каплю изменив обложка Makefile.in во папке из исходниками SDL_mixer’a. На моего взгляд, сие самое оптимальное решение, даже оно равным образом требует присутствие дополнительной библиотеки «pthreadGC2.dll» во папке из программой.

              Я подготовил вас необходимые библиотеки во следующем архиве:

              Архив SDL_mixer’s.zip

              В нем вам сможете разыскать до этого времени три версии библиотеки, да избрать нужную. Помимо этого, во файлах «ReadMe.txt» описан слушание компиляции каждой конфигурации, тот или другой поможет вас скомпилировать библиотеку в частности так, в духе вас сего захотите. А во файле «SDL_mixer.txt» описана текущая таблица библиотеки.

              В папках «bin» вам можете выкопать точный обложка «sdlwav.exe», какой использует сконфигурированные библиотеки. Перетащив получи и распишись него какой приглянется благозвучный файл, для примеру трекерный «culture.mod» находяшийся затем же, ваш брат сможете его отобразить равным образом придать значение натиск равным образом качество. Заметьте, что такое? трекерная маком хорэ воспроизводится всего только конфигурациями, на которых лакомиться libmikmod (неважно, потоковая либо нет).

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

              Пункт 0.3.6.6.

              Благодарю вслед за интерес.

              1. Спасибо огромное из-за уделенное ми время. Собралось по сию пору нормально. Собрал разночтение идеже поглощать libmikmod, да безвыгодный многопоточный. Единственная проблема: файлы *.flac безвыгодный хочет продувать sdlwav, разве поблизости блистает своим отсутствием SDL_mixer.dll. При этом файлы *.mp3 равным образом *.mod воспроизводятся равно вне SDL_mixer.dll. Как совершить статическую линковку? Чтобы совершенно форматы воспроизводились не принимая во внимание дополнительных *.dll.

                П.С. Никогда до тех пор далеко не слушал трекерную музыку. Признаюсь — впечатлило.

                1. Для того, в надежде сосредоточить динамический бинарник sdlwav, независящий ото каких-либо библиотек, что поделаешь про альфа и омега удостовериться, который у всех нужных нам библиотек (SDL, SDL_mixer, vorbis, mikmod, итд) убирать собранные статические версии.
                  Обычно близ дефолтном конфигурировании собираются по образу статические (lib.a), круглым счетом равным образом динамические (lib.dll.a + lib.dll) библиотеки. Исключением является чуть FLAC, библиотеки которого собраны всего лишь динамически. Поэтому нам никуда не денешься переконфигурировать библиотеку вместе с флагом —enable-static. После сего позволительно копить sdlwav со статической линковкой:

                  Компилятор до дефолту пытается подлинковать динамические библиотеки (lib.dll.a + lib.dll), однако разве да мы от тобой ему в открытую укажем знак -static, ведь симпатия полноте линковать всего лишь статические (lib.a) библиотеки. Соответственно, нам нужно хорошенького понемножку ручной означить безвыездно необходимое. Следует заметить, который построение линковки библиотек имеет значение.

                  Если однако готово правильно, в таком случае возьми выходе я получим обособленный аккуратный бинарник увеличившегося размера, обусловливаемый только лишь ото системных библиотек Windows ( слепок ), и, кабы ваша милость собирали многопоточную libmikmod, так до этих пор равным образом через «pthreadGC2.dll» ( лик ).

                  Пример сборки такого бинарника:
                  Скачать со 0Shared, ~5.0 Mb | Зеркало RGHost

                  1. Спасибо после подробный ответ. Все собралось, целое работает. Ваша дело беда полезная, особенно пользу кого людей впервинку сталкивающихся со компиляцией пакетов подина MINGW (таких по образу ваш покорнейший слуга :)). Чтобы единаче выправить информативность этой статьи добавлю 0 правки через себя. В процессе разбора статьи да сбора сборок столкнулся, от тем что-то библиотечка jpeg-9 на нормальной сборки требует исполнить команду autoheader предварительно конфигурированием. Для того, воеже публичка FLAC заведенным порядком пересобралась не без; параметром —enable-static пришлось за конфигурирования воплотить в жизнь команду make clean равным образом в дальнейшем вновь make. Ну да во пункте 0.11.5 на строке
                    export LIBS=»-L/mingw/lib -lws_s32″ должен сторнировать номинация библиотеки. Я интересах себя собирал лишь SDL_image равным образом SDL_mixer. Если снег бери голову возникнут сложности от другими библиотеками — напишу комментарий. Прокомментируйте бога ради данный муж пост.
                    Еще в один из дней спасибо.

                    1. Спасибо большое вслед исправления!
                      1. Заметка для jpeg-9 добавлена во статью.
                      2. Да, действительно, дай тебе переконфигурировать да переустановить библиотеку, делать нечего осуществить следующее:

                      0. Опечатка не без; -lws2_32 исправлена.

                      Еще единожды благодарствуйте после внимание.

  2. Отличная статья, спасибо.
    У меня возникла промах возле сборке libmikmod-3.2.0:
    make[2]: *** No rule to make target `strcasecmp.lo.o’, needed by `libmikmod.la’. Stop.
    make[1]: *** [all-recursive] Error 0
    make: *** [all] Error 0

    Решил правкой готового Makefile во папке libmikmod
    Заменил строку 03: LIBOBJS=${LIBOBJDIR}strcasecmp.lo$U.o держи LIBOBJS=${LIBOBJDIR}strcasecmp.lo
    Но благодаря этому такая просчет появилась?

    1. Как-то накось генерируются скрипты сборки. Увы, сие распространенная засада близ использовании компилятора MinGW равным образом окружения MSYS. Возможно баг кроется круглым счетом во confugure, однова возлюбленный генерирует неверный Makefile. В общем, нужно смотреть.
      Какая у вам модифицирование MinGW?

        1. Ага, они обновили ставильщик да настройка компиляторов. Странно то, что-нибудь сперва их репозиторий два дня назад выдавал GCC 0.8.0, а в эту пору 0.7.2, видимо спирт сей поры слабо стабилен.

    1. Возможно пакеты во репозитории пока что недоступны, попробуйте сделать еще раз установку посредством небольшую толику часов.
      И да, для компьютере, много ваш брат устанавливаете MinGW/MSYS во почто бы так ни стало приходится бытийствовать приступ на интернет.

  3. Спасибо следовать интересную статью 🙂 пробую составить pkg-config вместе с флагом make -j9 (Phenom 0 ядер) в самом деле компоновка подходит нате одном ядре 😉 самовластно гентушник, хотя потребовалось портировать редакция во win
    всё-таки установщики последние возьми сегодня, pkg 0.28

      1. также, отмеченный баг (на вин 0 х64) проверил весь пути, хотя

        0.3.1.4. Скомпилированные статическая равным образом динамическая библиотеки, заголовочные файлы должны скопироваться во соответствующие папки:
        Динамическая “SDL.dll” на “C:\Qt\MinGW\bin”
        Статические “libSDL.a”, “libSDL.dll.a” да “libSDLmain.a” на “C:\Qt\MinGW\lib”

        безвыгодный копируются, создаются на локальных папках bin зачем glut в чем дело? sdl, впрочем, к теории откопать на проводнике да передразнить пока что несложно, буду копать что-нибудь вместе с окружением, боюсь на реальном проекте бросьте заморочно. П.С. вроде , около установке компилятора оставил «use local folder path» другими словами ась? так по-видимому того, убедившись, что-нибудь (в msys набирал make -j9)
        MAKEOPTS -j9 другими словами -O3 вешают процесс, думаю за простому дефолту отшагать всю статью, в дальнейшем копать сильнее детально. 🙂 бегло НГ да груда времени 🙂

        1. А кой версии у вы GCC во MinGW? Новые сборки MinGW, те которые содержат GCC версии 0.7.X/4.8.X, имеют какой-то чудаковатый MSYS. Лично у меня до этого времени до сей времени стоит только «mingw-get version 0.5-beta-20120426-1» не без; GCC версией 0.6.2, всё-таки работает прямо отлично.

          Насчет вашей проблемы от аргументом «-jX» во утилите make произносить ни плошки неграмотный могу, поелику у меня весь работает лишенный чего багов от любым аргументом.
          А гляди относительно проблемы вместе с локальными папками на GLUT да SDL — посмотрите файлик « < Диск:\Путь поперед корня MinGW> \msys\1.0\etc\fstab», после должна являться шов « < Диск:\Путь перед корня MinGW> /mingw» даже если её вышел — добавьте. Пример файла дозволяется брать изо файла «fstab.sample». Заметьте, зачем во пути предварительно MinGW малограмотный должен существовать пробелов да русских символов.

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

              1. Кстати, реальные вопросы для ячейка словно $fdisk /dev/sda -p дают ссылку получай директорию, заморочка во часть в чем дело? потом ресета $ env-update && source /etc/profile пропадает 🙁 где-то весь ок, только лишь /source/etc/local.profile

          1. добавьте любезен проверку наличия коректного fstab на зачаток топика, относительно «настройку окружения» , в долгу

  4. по-видимому нате флуд же сие отнюдь не возлюбленный )
    вкушать работник содружество заключение , сотрудничающий на gentoo, слыхать opengl-viewer-а от пугающе самодельным форматом 0Д файлов, равно куда безграмотный травля забивать член домашнюю систему вин, чем-то по-видимому VisualStudio, думаю логичнее сосредоточить на toolchain получай целевой платформе да тогда испиливать нежели ловчиться устроить сквозь wine во gentoo а впоследствии обломится близ запуске 🙂 не ведь — не то записывать отнюдь не имея опыта про win api

    //прохождение: ((win7x64 eng, регион\раскладка RU) @win — мышкой за ярлыкам)

    @win mingw-get version
    @win аргумент среды «мой пк — пкм /свойства/доп параметры/переменные среды/ «PATH=C:/qt/mingw/bin»
    монтаж итого (пока), ~1.7Gb
    @win mingw installer
    @win «apply changes»

    генерация /mingw/msys/etc/fstab
    до умолчанию кушать fstab.samples

    # /mingw

    C:\qt\MinGW /mingw
    C:/qt/MinGW /mingw
    меня смущают неодинаковые углы наклона «сиди косая» ноне пробую так, ес двум строки… безграмотный возмущается вообще,

    пуск msys.bat

    0.1.2

    0.2 пропускаю,

    сложить папку /c/qt/build/pkg-config-0.28 , @win распаковка tar-а во /c/qt/build

    //msys безразличен фальцет букв во пути, что такое? в свой черед настораживает//

    0.3….

    вместе с «выпрямленными» путями path на win (у меня тама cmake не без; веб-инсталлера прописался) у меня неполиткорректный траектория ко машине (не пелена накопить «этафигня@t3850» о—оооо 🙁 )

    (КСТАТИ, задним числом неудачного прохождения данного квеста, туман задвинуть папки получи C:/qt/mingw/… всего-навсего из-под gentoo root —

    со временем «перезагрузки виндоус» , выдавало, который безвыгодный хочет долой папку, т.к. файлы используются к git равным образом svn

    $export CFLAGS=»-march=native»
    $cd /c/Qt/build/pkg-config-0.28
    $./configure —with-internal-glib —prefix=/mingw
    $make
    $make install
    $export -n CFLAGS

    0.3.4, успешно.

    0.4.1

    C:\Qt\build\CMake 0.6

    0.5 svn

  5. Здравствуйте! Долго плясал кругом установки freetype, советы во инете реконструировать gcc 🙁 оказалось отнюдь не коректно собирается zlib, а «mingw-get show | grep «Package: » » ставит «get mingw-zlib» неизвращенный zlib, на общем чудесно, все еще пробую сверху работе равно у себя снарядить этот born shell возьми разных пк

    1. А аз многогрешный не без; freetype круглым счетом равным образом далеко не разобрался… Пробовал компилить zlib как бы статическую, в такой мере да динамическую… Пробовал компилить cmake’ом… Пробовал пустить в ход стандартную mingw32-zlib… безвыездно в равной степени подле компиляции freetype-2.5.0 оплошка возьми ссылающийся с zconf.h обложка io.h (io.h:301:1: error: unknown type name ‘off64_t’). Пробовал переопределять характер в качестве кого long long (в stdio.h эдак тайпдефится). Если кто такой сталкивался — подскажите несравнимо копать. невыгодный обнавлять но транслятор

    2. Кстати, быть конфигуре freetype не без; ключиком —without-zlib (для использования встренного умереть и неграмотный встать фритайп) замес такая же. Поэтому у меня начинают выясняться сомнения, что такое? занятие на zlib

  6. Здравствуйте, у меня такая ситуация.
    Имеется программа из некого языка программирования тот или иной транслирует на СИ равно скармливает позднее GCC (реально, сие какой-то MinGW-подобный огрызок), который,в свою очередь, выступает во вкусе кросс-компилятор лещадь какую-то затем платформу. Такой видишь особенный бэк-енд.
    Он позволяет черкать близкие модули получи и распишись Си, сочинять равно линковать их во одном проекте, смешивая двуха языка программирования — удобная фича.
    В программе травля эксплуатнуть анонимные структуры, во GCC они включаются опцией: «-fplan9-extensions». Поскольку во всем процессом сборки управляет свой бэк-енд, тот или другой слыхом безвыгодный слыхивал ни об каких расширениях, возникает вопрос: вроде привнести сие расширение.
    Может на GCC поглощать какой-то конфигурационный обложка идеже не запрещается обратить желаемые согласно умолчанию опции, не в таком случае — не то показать их во исходных кодах?
    Помогите!

    1. День добрый. Интересная проблема. Я круглым счетом понимаю, доступа ко backend’у, идеже крутится вещь GCC-образное нету? Или но оный backend малограмотный знает в отношении этакий опции вообще? Если последнее, ведь правильнее общей сложности нужно бы текущий backend обновить. Вроде оный а LLVM/Clang может во «-fplan9-extensions/-fms-extensions», новые MinGW, думаю тоже. Если ко backend’у допускается пробраться, ведь нужно разобраться что дьявол после этого взаимодействует не без; тем, что-нибудь ему пересылает ваш компилятор, равно несложно присчитать настоятельный флажок.

      Про конфигурирование GCC не без; через файлов ничего, увы, безграмотный слышал. А чисто из пробросом определённых опций изо исходных файлов сталкивался, например, тут: drd_clientreq.c#L75 . При обработке сего файла писатель уменьшает высота оптимизации до самого первого. Возможно раз как-то да plan9-extensions дозволено подобным образом пробросить, несколько вроде:

      __attribute__ ( ( transparent_union ) )

  7. За наводку получай __attribute__ спасибо, попробую. Мой «бэк-енд» — сие транслятор со языка функциональных диаграмм (FBD), общо говоря сие вешь на себе, предназначенная с целью программирования микроконтроллеров. Копатся во нем — загадка куда ни на есть не столь практичная, нежели без затей привыкать сверх любимых моих фич на си. (он взять равно генерирует си-код, однако бог нискоуровневый, как например совершенно переменные представлены на виде смещений с базового адреса, да тд…) походу некто в отношении чем-то помоложе (с99) равным образом невыгодный слышал. Да равно об этом в таком случае стандарте, равно как — наврятли. Соотношение — удобство/трудозатраты тутовник никак не во мою пользу абсолютно. Сейчас попробую «attribute», отпишусь насчёт результатах.

  8. Проблема следующего характера: отнюдь не работает библиотечка XAudio2 с DirectX9.
    Как пишущий эти строки понял, препятствие во том, что-то кто в отсутствии файла sal.h, какой-никакой снедать на вижаке.
    При попытке определить Windows SDK получи и распишись win7 вылетает ошибка. На паче старой версии Windows SDK файла sal.h прямо нет.
    Зато получи семерку установился на папку Windows SDK к win8.1, равным образом затем снедать данный горестный обложка да сызнова единственный требуемый хэдер.
    Бросил сии хэдеры во /c/MinGW/include/
    Но тем неграмотный не так звуковая помещение круглым счетом равным образом никак не встала.
    Выдает ми какой-то нерушимый предел во консоли, сверху безденежье файла sal.h небось вяще невыгодный ругается, только аз многогрешный подозреваю, занятие во том, ась? обложка безвыгодный тот.
    В общем. Плакать хочется.
    p.s. вижака, разумеется, у меня нет, оттого пишущий эти строки равным образом тутовник 🙂

    1. Насколько ми известно, переставлять студийные хедеры да хедеры MinGW — сильно плохая идея. Попробуйте расчёт MinGW-w64 , не откладывая спирт заметно актуальнее обычного MinGW. Там в наличии sal.h да по сию пору накипь заголовочные файлы:

      sal.h header

  9. EXL , а неграмотный планируется, случайно, подобного материала, только во современных реалиях?
    С самого первого шага сложности. Начиная через отсутствия mingw-get, да заканчивая «/usr/bin/env perl: No such file or directory».
    Установил ручной поверстно MinGW посредством mingw-w64-install.exe
    Установил одиноко MSYS2 (туда же, куда-нибудь да MinGW, они имеют непересекающиеся файлы, так состав поддиректорий говорит особенно в рассуждении том, почто беспричинно хорошенького понемножку правильно)
    Прописал на переменную PATH маршрут для X:\path\mingw\migw64\bin
    Прописал во переменную PATH тракт для perl
    Перл работает, команды принимает, всё хорошо. perl -v, perl -V — всё отлично.
    gcc -v — всё отлично, 0.3.0
    Запускаю msys2_shell.cmd — запускается bash, хорошо.
    /usr/bin/env — ведомость переменных, всё славно непостоянно ещё…
    ./configure —with-internal-glib —prefix=/mingw запускается, равно после порядочно секунд configure: error: no acceptable C compiler found in $PATH, близ этом gcc находится сходу изо любого места равно находится некто там, идеже потребно — во директории не без; mingw64\bin
    Попытка №2, пробуем настроить OpenSSL: /usr/bin/env: «perl»: No such file or directory

    В общем, ни во какую.

    1. Привет.

      Информация на статье внушительно устарела. Всё-таки развивается сие всё быстрыми темпами. Я бы порекомендовал прибегнуть msys2.github.io , дальше вкушать замонтированный стопочный руководитель в качестве кого во дистрибутивах Linux’а, благодаря тому узел OpenSSL да Perl сводится для банальному pacman - S openssl perl .

      Или вас нужно особенно скомпилировать OpenSSL со своими «твиками»?

Добавить интерпретация