Russian Qt Forum
Ноябрь 22, 2024, 01:36 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1] 2 3 ... 10   Вниз
  Печать  
Автор Тема: Сборки mingw  (Прочитано 100575 раз)
Sahab
Гость
« : Август 01, 2011, 09:09 »

Сообщество запаздывает с актуальностью сборок mingw, уже зарелизили 4.6.1, а они раздают сборку почти годичной давности.
Для тех кто хочет юзать новых фичи из c++0x, не дожидаясь пока сообщество надумает сделать новую сборку:
Mingw
с полной поддержкой LTO, OpenMP, Graphite, std atomics и std threads
Планируется добавить в сборки некоторый набор библиотек (ssl, boost, Qt, возможно некоторые другие)
« Последнее редактирование: Март 25, 2012, 01:43 от Sahab » Записан
niXman
Гость
« Ответ #1 : Август 28, 2011, 02:20 »

обновлены сборки.
http://code.google.com/p/mingw-builds/downloads/list

на днях рассчитываю зарелизить 4.6.1
Записан
niXman
Гость
« Ответ #2 : Август 31, 2011, 05:33 »

зарелизил 4.6.1: http://code.google.com/p/mingw-builds/downloads/detail?name=mingw32-gcc-4.6.1-release-20110830.7z
пора готовиться к 4.6.2
Записан
niXman
Гость
« Ответ #3 : Сентябрь 04, 2011, 00:48 »

добавлены новые сборки.
Записан
niXman
Гость
« Ответ #4 : Сентябрь 17, 2011, 22:20 »

добавил новые snapshot сборки.
отныне, все сборки будут включать в себя следующие ЯП: c, c++, objc, obj-c++, fortran.

в планах - разобраться со сборкой java.
Записан
niXman
Гость
« Ответ #5 : Сентябрь 17, 2011, 23:25 »

вообще, в глобальных планах, создать инсталлятор, в котором юзер сможет выбрать:
1. способ реализации исключений(sjlj/dwarf)
2. версию компилятора.
3. x86/x86_64 как цель, так и хост архитектуры.
4. список необходимых ему предкомпилированных библиотек. (да. юзеру не нужно будет шарахаться по инету в поисках собранной библиотеки, или маять свой моцг в попытках собрать ее)
5. IDE. планирую следующие: QtCreator, NetBeans, Code::Blocks, Dev-C++, wxDev-C++. т.е. получится своего рода portable версия среды разработки со всем перечисленным.

по этому, проект переезжает на sf.net, ибо там нет ограничения на пространство для проекта, плюс, больше возможностей по управлению проектом(в отличии от гуглкода).
сейчас занимаюсь следующими задачами:
1. переписываю скрипты системы сборки.
2. пытаюсь разобраться со сборкой java.
3. пытаюсь разобраться со сборкой под x86 и x86_64 архитектуры. как для хоста, так и для цели.
4. дописываю скрипты для сборки библиотек.
5. разбираюсь с NSIS инсталлятором.
Записан
niXman
Гость
« Ответ #6 : Октябрь 28, 2011, 11:00 »

Несколько часов назад состоялся релиз компилятора GCC версии 4.6.2, в котором проведена работа по исправлению ошибок, регрессивных изменений и проблем с совместимостью. С момента выхода прошлой версии отмечено 115 исправлений, большинство из которых связано с устранением внесенных ранее регрессивных изменений и с улучшением поддержки спецификаций C++0x. Исходные тексты компилятора можно загрузить с сайта проекта или с его зеркал.

Сборки MinGW на базе GCC-4.6.2 вы уже сейчас можете скачать на странице проекта.
Следующее обновление GCC 4.6.3 ожидается в феврале.
Записан
niXman
Гость
« Ответ #7 : Ноябрь 22, 2011, 10:09 »

залил новые сборки тестовой ветки 4.7.0 в которых впервые реализована технология Transactional Memory(кстати Intel эту фитчу реализовал довольно давно). полагаю, эта фитча станет невероятно востребована в паре с OpenMP, что позволит сделать мир многопоточных программ проще  Улыбающийся отдельно хочется поблагодарить Red Hat inc. за "подаренную" реализацию Transactional Memory, которая, к тому же, всего три месяца назад "подарила" реализацию OpenMP-3.1.

скачать версии GCC для windows вы как всегда можете скачать тут. совершенно бесплатно  Подмигивающий
« Последнее редактирование: Ноябрь 22, 2011, 10:11 от niXman » Записан
niXman
Гость
« Ответ #8 : Ноябрь 30, 2011, 19:31 »

занимаюсь сборкой для x86_64 архитектуры, и возникли такие вопросы:
1. нужна ли сборка хост-x86_64 - цель-x86_64 ? или же достаточно будет хост-х86 - цель-х86_64? ибо последняя сможет работать как х86 так и на х86_64.
2. есть ли смысл собирать отдельные сборки для х86 и х86_64 хостов? или же собрать хост-х86 и мультицель х86/х86_64 указываемая при помощи стандартных опций "-m32" "-m64" ?
Записан
niXman
Гость
« Ответ #9 : Январь 17, 2012, 08:32 »

с гордостью хочу сообщить о том, что исправил последний мне известный баг MinGW, вынуждающий использовать статическую линковку при использовании std_threads!
некоторое время я (на пару с вами) буду тестить это fix, после чего закоммичу патч.

так же, исправил баг LTO в сборках 4.7.0, который не давал мне покоя уже 4 месяца.

выложил snapshot сборки 4.7.0.
готовлюсь к релизу Улыбающийся

качать тут.
Записан
niXman
Гость
« Ответ #10 : Январь 19, 2012, 13:18 »

не к холивару будет пост, но только что в списке рассылки GCC были опубликованы сравнительные результаты тестирования компиляторов проводимые Willus.com.
в тестировании принимали участие компиляторы: MinGW (gcc 4.6.3), Intel 2011, Microsoft 2010 Visual C/C++ Express, и др.(Tiny CC, Digital Mars, MinGW (gcc 3.4.2)). использовались следующие опции. тестировались такие проекты как: BW1D, BZIP2, CRAFTY, K2PDFOPT, LAME, MESHER, MODEL3D, RESIZER, TRANSCEND, X264. тесты проводились в таком окружении:
Цитировать
Intel Core-i3/i5/i7 chips are quite prevalent now, and I'm lazy, so, with no disrespect intended towards AMD and other non-Intel x86 CPUs, I ran the benchmarks only on my home PC, a 2010-vintage system with a Core i5-670 CPU that turbo boosts to 3.73 GHz. My motherboard is an Asus P7H57D-V EVO with 16 GB of DDR-3 1333 MHz RAM. The O/S is 64-bit Windows 7 Ultimate.
в пяти из десяти тестов GCC-4.6.3 незначительно отставал от MSVC.
усредненное значение пересчитанное мною таково:
GCC - 15.13
MSVC - 15.12

т.е. MSVC на одну сотую секунды быстрее из суммы всех времен тестов. а Intel рвет всех.

для остальных компиляторов не считал.
Записан
niXman
Гость
« Ответ #11 : Март 25, 2012, 01:05 »

Всем привет.

Если вдруг кто не знает, mingw-builds - это проект предоставляющие сборки компилятора GCC для Windows платформы, т.е. MinGW.

Итак...
До сих пор, проект предоставлял сборки с двумя типами реализации исключений: 1)dwarf, 2)sjlj(1, 2).
Сборки использующие dwarf, будут исключены из последующих сборок проекта mingw-builds.
Связанно это с двумя причинами:
1. dwarf, для windows ОС - это инородный способ реализации исключений, он не может работать правильно в windows из-за того, что реализация как С++ так и Си(SEH)  исключений в компиляторе MSVC использует SJLJ. В связи с этим, возникают трудноуловимые ошибки связанные с разрушением стека и пробросом/ловлей исключений между .dll модулей. Мнение разработчиков CRT для MinGW(mingw-w64) тут.
2. и вторая причина, вытекающая из первой - отсутствие реализации dwarf для windows-x86_64.

Посему, пользователям dwarf сборок придется пересобирать либы. Увы...

С этого момента, проект mingw-builds предоставляет сборки для двух хостов: a)i686, b)x86_64.
Каждая такая сборка, является двухцелевым кросс-компилятором. Компилятор для i686 хоста по умолчанию собирает для i686 цели. Компилятор для x86_64 хоста по умолчанию собирает для x86_64 цели.

Для того, чтоб при помощи компилятора для i686 хоста собрать для x86_64 - при компиляции и линковке добавляйте флаг -m64.
Для того, чтоб при помощи компилятора для x86_64 хоста собрать для i686 - при компиляции и линковке добавляйте флаг -m32.

Разумеется, все зависимости цели должны быть собраны соответствующим образом.

Теперь о зависимостях цели от .dll модулей поставляемых в составе компилятора(libstdc++-6.dll, etc...).
Как правило, при использовании MinGW, путь к mingw/bin прописывается в PATH. Все необходимые для хоста .dll модули так же находятся в mingw/bin. По этому, проблем с выполнением полученных исполняемых файлов нет. Но при использовании кросс-компилятора все немного сложнее.
Если производится сборка при которой host==target - тут все как обычно, ибо .dll модули находятся в mingw/bin. Однако, в случаях когда host!=target, .dll модули оказываются недоступными для целевого исполняемого файла.
Для i686 компилятора, .dll модули для x86_64 цели располагаются в mingw/i686-w64-mingw32/lib64.
Для x86_64 компилятора, .dll модули для i686 цели располагаются в mingw/x86_64-w64-mingw32/lib32.

Если что не понятно - задавайте вопросы.

Сборка для i686 уже готова. Со сборкой для x86_64 хоста возникли некоторые сложности. На страницу проекта пока не выгружал. Хочу одновременно.

Всем спасибо.
Записан
V1KT0P
Гость
« Ответ #12 : Март 25, 2012, 01:13 »

Сборка для i686 уже готова. Со сборкой для x86_64 хоста возникли некоторые сложности. На страницу проекта пока не выгружал. Хочу одновременно.
Огромное спасибо за сборки. Чуть ли не каждый час обновляю страницу в надежде увидеть заветное 6.7.0-release  Улыбающийся.
Записан
niXman
Гость
« Ответ #13 : Март 25, 2012, 01:39 »

Цитировать
6.7.0-release
4.7.0)

по идее, сегодня-завтра.
Записан
niXman
Гость
« Ответ #14 : Март 26, 2012, 23:52 »

визуализация всего периода разработки GCC: http://www.youtube.com/watch?v=ZEAlhVOZ8qQ
Записан
Страниц: [1] 2 3 ... 10   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.055 секунд. Запросов: 20.