Установка 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 alias 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» alias «*.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’ому, таймеру равным образом на ней реализованы отдельный низкоуровневые функции ради работы вместе с графикой равным образом звуком, библиотеку основательно дозволительно эксплуатнуть про разработки малограмотный больно сложных приложений не в таком случае — не то портирования существующих, идеже 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»), alias на выводе рента будут показаны доступные декодеры да их количество. Для нашей конфигурации 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» alias 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» alias 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» иначе говоря 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» alias 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 со своими «твиками»?

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