Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

C++

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 1004, средняя оценка - 4.94
niXman
Эксперт С++
3138 / 1450 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
#1

Сборки MinGW(GCC-win32/win64) от niXman - C++

30.07.2011, 22:48. Просмотров 134831. Ответов 444

с этого момента, буду производить тестовые/пререлизные/релизные сборки mingw.
файлы с пометкой snapshot и prerelease - не стабильные версии. в реальных проектах использовать не рекомендую. использую для тестирования новых фитчей.
файлы с пометкой release - стабильные, прошедшие тесты.
скачать можно тут.
скачать онлайн-инсталятор можно тут.
скачать msys2 можно тут

в скором времени начну формировать пакеты для разработчиков состоящие из компилятора(mingw), IDE(QtCreator/CodeBlock/Dev-C++/wxDev-cpp), и некоторого набора предкомпилированных библиотек(boost, Wx, Qt, OpenSsl, и еще каких-то.. понять бы что в спросе...). пакеты не будут требовать установки/настройки. распаковал - используй.

Не по теме:

старая ссылка тут.

39
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.07.2011, 22:48
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сборки MinGW(GCC-win32/win64) от niXman (C++):

Как перекомпилить Win32 dll -> Win64 - C++
Привет форумчане. Подскжите как перестроить MS2005 стоящую на ХР что бы можно было перекомпилить мою dll-ку под платформу Win64

Gcc без MinGW - C++
Интересует вопрос, можно ли рабочий код (который без ошибок компилируется в Visual Studio) компилировать с помощью командной строки Windows...

Win32 -> Win64 = BEX - C++ Builder
Проблема появилась после переустановки вин32 ту 64. Проект был с 12 альфа скинами и библ bass.dll На новой системе поставил тот же RAD...

Запуск программы на Win64 - C++ Builder
Столкнулся с проблемой запуска программы на 64 битной системе. Установил через инсталятор программу, а она не запускается. Делалась на 32...

Сборки MinGW(win32/win64) от niXman C++1x - C++
никто не знает как MinGW(win32/win64) от niXman подключить к codeblocks? и с какими параметрами указывать? я установил threads - win32,...

Mingw-w64 MinGW TDM-GCC - C++
Всем привет. Хочу понять, существует ли принципиальная разница между Mingw-w64, MinGW и TDM-GCC? Какие плюсы/минусы у этих трех...

444
nastvood
0 / 0 / 0
Регистрация: 30.07.2012
Сообщений: 5
30.07.2012, 18:40 #91
ОК, спасибо огромное за сборки. Пересобиру Qt, а там посморим.
0
niXman
Эксперт С++
3138 / 1450 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
30.07.2012, 19:05  [ТС] #92
Цитата Сообщение от nastvood Посмотреть сообщение
Пересобиру Qt
кстати, mingw32-make который поставляется в моих сборках, поддерживает job-server. это значит, что кутю можно собирать в несколько процессов
вместо того что пишет configure, выполняй: mingw32-make -jN
где N - кол-во ядер на машине.
3
niXman
Эксперт С++
3138 / 1450 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
31.08.2012, 22:18  [ТС] #93
немного новостей касательно gcc/MinGW.

недавно, в транк, был влит патч реализующий SEH для Win64: http://gcc.gnu.org/ml/gcc-patches/2012-07/msg00512.html
как оказалось, в патенте борланд на SEH нашли лазейку. а именно, то, что патент оговаривает идею SEH для Win32, но не для Win64. в виду этого, было решено принять этот патч в транк, т.к. для Win разработчиков SEH является весьма необходим. но, у этого патча есть и минусы, для меня, по крайней мере. как некоторые могли заметить, я уже больше месяца не произвожу сборки транка. и это "благодаря" этому патчу. но, транк есть транк. он и не должен собираться. надеюсь, к релизу 4.8.0 эту недоразумение пофиксят.

вторая новость состоит в том, что расширение 'Intel Cilk-Plus' принято в транк: http://gcc.gnu.org/ml/gcc/2012-08/msg00355.html
это означает, что gcc, начиная с версии 4.8.0, будет поддерживать 'Cilk-Plus'. тот, кто знаком с этим расширением при использовании Intel компилятора, понимает, насколько это расширение необходимо для разработчиков многопоточных алгоритмов/программ.

Добавлено через 20 часов 59 минут
разрабы Qt пытаются определится в выборе MinGW для распространения в составе QtSDK-64bit. и я горд сообщить о том, что кандидатов всего двое: 1)сборки проекта MinGW-builds, 2)mingw-w64 персональная сборка Ruben`а. есть надежда, что сборки проекта MinGW-builds выйдут в массы :yahoo
7
dr.curse
389 / 345 / 16
Регистрация: 11.10.2010
Сообщений: 1,907
31.08.2012, 22:55 #94
Цитата Сообщение от niXman Посмотреть сообщение
разрабы Qt пытаются определится в выборе MinGW для распространения в составе QtSDK-64bit. и я горд сообщить о том, что кандидатов всего двое: 1)сборки проекта MinGW-builds, 2)mingw-w64 персональная сборка Ruben`а. есть надежда, что сборки проекта MinGW-builds выйдут в массы :yahoo
отличная новость!
а кто такой Ruben? и где можно посмотреть его сборки?
0
castaway
Эксперт С++
4885 / 3020 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 10
Завершенные тесты: 1
31.08.2012, 22:59 #95
https://github.com/rubenvb/MinGW-w64-build-scripts
0
niXman
Эксперт С++
3138 / 1450 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
31.08.2012, 23:01  [ТС] #96
Цитата Сообщение от aram_gyumri Посмотреть сообщение
а кто такой Ruben?
человек производящий сборки, как и я. но в отличии от меня, он не стал создавать отдельный проект, а попросил админов mingw-w64 предоставить ему возможность заливать свои сборки.

Цитата Сообщение от aram_gyumri Посмотреть сообщение
где можно посмотреть его сборки?
http://sourceforge.net/projects/ming...uilds/rubenvb/
http://sourceforge.net/projects/ming...uilds/rubenvb/

Добавлено через 46 секунд
Цитата Сообщение от lazybiz Посмотреть сообщение
https://github.com/rubenvb/MinGW-w64-build-scripts
да, это его скрипты сборки.
мне было бы стыдно такое показывать кому-то. правда.
1
niXman
Эксперт С++
3138 / 1450 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
10.09.2012, 14:36  [ТС] #97
после нескольких дней тестов и переписки, тролли склоняются к тому, чтоб не использовать готовые сборки, а собирать самим используя мои скрипты.
но это еще не окончательное решение...
0
niXman
Эксперт С++
3138 / 1450 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
20.09.2012, 22:42  [ТС] #98
несколько часов назад состоялся релиз компилятора GCC версии 4.7.2.
было исправлено более 70 багов.
полный список тут.

сборки MinGW на базе GCC 4.7.2 вы уже сейчас можете скачать на странице проекта.
6
castaway
Эксперт С++
4885 / 3020 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 10
Завершенные тесты: 1
20.09.2012, 23:16 #99
niXman, есть такая проблема. В WinAPI существует функция UpdateLayeredWindowIndirect начиная с Windows Vista (а может даже и раньше). Так просто так её использовать не получается, ошибка undefined reference. Приходится юзать GetProcAddress(), но это не есть комильфо...
Не знаю как в других компиляторах, но в GCC 4.7.1 и GCC 4.7.2 данный трабл актуален. Пробовал немного погуглить но вопрос не решился. Информации по этому ничтожно мало, я бы даже сказал нет вовсе.
Может быть у Вас есть какие-то соображения?
0
niXman
Эксперт С++
3138 / 1450 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
20.09.2012, 23:24  [ТС] #100
Цитата Сообщение от lazybiz Посмотреть сообщение
Может быть у Вас есть какие-то соображения?
ну...как обычно =)

проблемы нет. проблема была бы, если бы сигнатура функции была не известна.
но, т.к. микрософт не скрывает ее декларацию, то и проблемы нет.

постараюсь на неделе пофиксить.

Добавлено через 24 секунды
спасибо за feedback!

Добавлено через 1 минуту
Цитата Сообщение от lazybiz Посмотреть сообщение
её использовать не получается, ошибка undefined reference.
ааа, ну да. в декларации API`шек ее добавили, а в .def файл забыли =)

Добавлено через 21 секунду
это я про производителей CRT`ишки для мингва.
1
castaway
Эксперт С++
4885 / 3020 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 10
Завершенные тесты: 1
20.09.2012, 23:29 #101
niXman, она объявлена в winuser.h (проверки на версию ОС нет), и в libuser32.a так же присутствует. У меня соображений никаких.

Добавлено через 2 минуты
Цитата Сообщение от niXman Посмотреть сообщение
а в .def файл забыли =)
так там же .def файлов нет вообще. Или они только в исходниках?
0
niXman
Эксперт С++
3138 / 1450 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
20.09.2012, 23:46  [ТС] #102
Цитата Сообщение от lazybiz Посмотреть сообщение
в libuser32.a так же присутствует
уже вижу. попробую разобраться...

Цитата Сообщение от lazybiz Посмотреть сообщение
они только в исходниках?
да.

Добавлено через 4 минуты
так, понятно.

в общем, эта функция присутствует в CRT для x86_64, и успешно линкуется.
а в CRT для i686 ее просто недобавили.

ты проверял 64 битными сборками?

Добавлено через 7 минут
исправил.
отправлю патч разрабам, но пересобирать пока не буду.
сам разберешься как библиотеку импорта сгенерить из .def файла?

Цитата Сообщение от niXman Посмотреть сообщение
ты проверял 64 битными сборками?
пинг?
1
castaway
Эксперт С++
4885 / 3020 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 10
Завершенные тесты: 1
20.09.2012, 23:53 #103
Я использую GCC x86_64, но с флагами "-m32 -march=i686". В этом случае проблема актуальна. А вот без них (только что проверил) у меня появились кое-какие другие проблемы. В течение 15 минут попробую описать...
0
niXman
Эксперт С++
3138 / 1450 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
20.09.2012, 23:57  [ТС] #104
Цитата Сообщение от lazybiz Посмотреть сообщение
В течение 15 минут попробую описать...
давай. любопытно...
ссылку на архив не забудь. или имя файла архива.
0
castaway
Эксперт С++
4885 / 3020 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 10
Завершенные тесты: 1
21.09.2012, 00:05 #105
Может не по теме.. но все же.
В x86_64 без "-m32 -march=i686" появились
ошибки
layer.cpp:25:62: error: cast from 'HINSTANCE' to 'uint32_t {aka unsigned int}' loses precision [-fpermissive]
layer.cpp: In constructor 'biz::layer::layer(int32_t, int32_t, uint32_t, uint32_t, uint32_t)':
layer.cpp:62:24: error: 'GWL_USERDATA' was not declared in this scope
layer.cpp:62:44: error: cast from 'biz::layer*' to 'LONG {aka long int}' loses precision [-fpermissive]
Преобразование явное. Стандарт что там, что там c++11, но при "-m32 -march=i686" нет ни то что ошибок, даже предупреждениями не пахнет.

Цитата Сообщение от niXman Посмотреть сообщение
Сам разберешься как библиотеку импорта сгенерить из .def файла?
Разберусь, но с твоего волшебного пинка процесс пойдет значительно быстрее.

Добавлено через 36 секунд
Цитата Сообщение от niXman Посмотреть сообщение
ссылку на архив не забудь. или имя файла архива.
Ты об этом: x86_64-mingw-w64-gcc-4.7.2-release-c,c++,fortran-sjlj-rev0.7z ?
0
21.09.2012, 00:05
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.09.2012, 00:05
Привет! Вот еще темы с ответами:

Компиляция для win32 bit на win64 - C++
День добрый. Подскажите как в Visual Studio (или еще где) на 64 битной машине (win 8 ) скомпилировать консольное приложение, которое...

Как установить принтер подключённый к Win32 на Win64 - Windows 7
Здравствуйте. Забыл как я делал... А мне надо установить принтер Samsung SCX-4100 который соединён по USB c компом на котором стоит WinXP...

Linker Ошибки [gcc\MingW] - C++
Есть код : #define _WIN32_WINNT 0x0500 //Необходимо для определения функции GetConsoleWindow() в WinCon.h #include <Windows.h> ...

Какой GCC+MinGW нужно устанавливать? - C Linux
У меня Убунта 14.04 64 разрядная, в списке дистрибутив компиляторов много, какой из них выбрать и как для С? gcc-mingw-w64: GNU C...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
105
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru