Эксперт С++
3211 / 1459 / 74
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
1

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

30.07.2011, 22:48. Показов 270561. Ответов 459

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

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

Не по теме:

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

43
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.07.2011, 22:48
Ответы с готовыми решениями:

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

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

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

Упаковка ресурсов в exe. gcc (MinGW)
Здравствуйте. Возникла задача упаковать различного рода файлы в программу. Пробовал создавать...

459
113 / 22 / 0
Регистрация: 28.10.2012
Сообщений: 37
05.12.2012, 18:17 161
Author24 — интернет-сервис помощи студентам
Файл .gdbinit использует сам gdb. Домашняя директория в винде есть у каждого пользователя если что). Вот что пишут про запуск gdb в официальной доке:
Here's the description of what gdb does during session startup:
1. Sets up the command interpreter as specified by the command line (see interpreter).
2. Reads the system-wide init file (if --with-system-gdbinit was used when building gdb; see System-wide configuration and settings) and executes all the commands in that file.
3. Reads the init file (if any) in your home directory1 and executes all the commands in that file.
4. Executes commands and command files specified by the `-iex' and `-ix' options in their specified order. Usually you should use the `-ex' and `-x' options instead, but this way you can apply settings before gdb init files get executed and before inferior gets loaded.
5. Processes command line options and operands.
6. Reads and executes the commands from init file (if any) in the current working directory as long as `set auto-load local-gdbinit' is set to `on' (see Init File in the Current Directory). This is only done if the current directory is different from your home directory. Thus, you can have more than one init file, one generic in your home directory, and another, specific to the program you are debugging, in the directory where you invoke gdb.
7. If the command line specified a program to debug, or a process to attach to, or a core file, gdb loads any auto-loaded scripts provided for the program or for its loaded shared libraries. See Auto-loading.
If you wish to disable the auto-loading during startup, you must do something like the following:

$ gdb -iex "set auto-load python-scripts off" myprogram

Option `-ex' does not work because the auto-loading is then turned off too late.

8. Executes commands and command files specified by the `-ex' and `-x' options in their specified order. See Command Files, for more details about gdb command files.
9. Reads the command history recorded in the history file. See Command History, for more details about the command history and the files where gdb records it.
С другой стороны gdb можно сконфигурировать на чтение определенного файла настроек при компилировании. На этот счет есть вот это:

gdb can be configured to have a system-wide init file; this file will be read and executed at startup (see What gdb does during startup).
Here is the corresponding configure option:
--with-system-gdbinit=file
Specify that the default location of the system-wide init file is file.
If gdb has been configured with the option --prefix=$prefix, it may be subject to relocation. Two possible cases:
- If the default location of this init file contains $prefix, it will be subject to relocation. Suppose that the configure options are --prefix=$prefix --with-system-gdbinit=$prefix/etc/gdbinit; if gdb is moved from $prefix to $install, the system init file is looked for as $install/etc/gdbinit instead of $prefix/etc/gdbinit.
- By contrast, if the default location does not contain the prefix, it will not be relocated. E.g. if gdb has been configured with --prefix=/usr/local --with-system-gdbinit=/usr/share/gdb/gdbinit, then gdb will always look for /usr/share/gdb/gdbinit, wherever gdb is installed.
Возможно тот mingw который работал из коробки с принтерами для stl был как раз настроен при компиляции на подхват файла настроек.
0
2 / 2 / 0
Регистрация: 03.12.2012
Сообщений: 59
05.12.2012, 18:53 162
Читал. В кодеблоках с .gdbinit завязали пару лет назад - вместо него используется инициализация через кодеблоки, в общем-то то же самое. Класть .gdbinit надо было в директорию с проектом.

Добавлено через 17 минут
Цитата Сообщение от Alexpux Посмотреть сообщение
Возможно тот mingw который работал из коробки с принтерами для stl был как раз настроен при компиляции на подхват файла настроек.
"тот mingw"- это все тот же mingw-builds, только gdb был от ollydbg. И он находил принтеры по путям в c:\mingw\bin.
0
113 / 22 / 0
Регистрация: 28.10.2012
Сообщений: 37
06.12.2012, 08:22 163
nenin, если не сложно дай ссылочку на gdb от ollydbg, который работает сразу с принтерами. Хочу посмотреть что там нагородили.
0
2 / 2 / 0
Регистрация: 03.12.2012
Сообщений: 59
06.12.2012, 13:42 164
Цитата Сообщение от Alexpux Посмотреть сообщение
nenin, если не сложно дай ссылочку на gdb от ollydbg, который работает сразу с принтерами. Хочу посмотреть что там нагородили.
Я отсюда беру: http://forums.codeblocks.org/i... 301.0.html
Кстати, на форуме С::B появилась ссылка http://wiki.codeblocks.org/ind... y_Printers
с +/- теми, "полнопутевыми" же настройками.
0
113 / 22 / 0
Регистрация: 28.10.2012
Сообщений: 37
06.12.2012, 13:52 165
Кстати, на форуме С::B появилась ссылка http://wiki.codeblocks.org/ind... y_Printers
с +/- теми, "полнопутевыми" же настройками.
Что и требовалось доказать)
0
2 / 2 / 0
Регистрация: 03.12.2012
Сообщений: 59
06.12.2012, 14:02 166
Цитата Сообщение от Alexpux Посмотреть сообщение
Что и требовалось доказать)
Лана, видимо я расслабился от китайской изощренности ollydbg...
0
Эксперт С++
3211 / 1459 / 74
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
26.12.2012, 12:12  [ТС] 167
такой вопрос возник.
есть желание производить сборки так, чтоб минимально необходимый минимум по архитектуре проца, был nocona. кто на каких архитектурах работает?
был найден человек, который использует mingw-builds на каком-то p4, на котором сборка собранная для nocona не хотела работать. появилась ошибка типа "неизвестная инструкция".

спасибо.
0
Эксперт С++
4985 / 3092 / 456
Регистрация: 10.11.2010
Сообщений: 11,169
Записей в блоге: 10
26.12.2012, 12:48 168
corei7
А кто-нибудь тестировал производительность GCC разных архитектур?
0
Эксперт С++
3211 / 1459 / 74
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
26.12.2012, 12:49  [ТС] 169
я не тестировал.
0
2 / 2 / 0
Регистрация: 03.12.2012
Сообщений: 59
26.12.2012, 17:30 170
Цитата Сообщение от niXman Посмотреть сообщение
такой вопрос возник.
есть желание производить сборки так, чтоб минимально необходимый минимум по архитектуре проца, был nocona. кто на каких архитектурах работает?
был найден человек, который использует mingw-builds на каком-то p4, на котором сборка собранная для nocona не хотела работать. появилась ошибка типа "неизвестная инструкция".
спасибо.
Ну и я такой человек, у меня в том числе Northwood в работе и AXP в потенциале (там сейчас старенький tdm, но софт надо апдейтить, а все библиотеки уже перебилжены...). Софт управляет железяками и требует отладки вживую, на чем работает. ИМХО, для компилятора важной может быть оптимизация под p4 и под Atom, остальные (АМД, P3,Core2 и старше) должны быть более-менее всеядны.

Добавлено через 11 минут
Цитата Сообщение от lazybiz Посмотреть сообщение
corei7
А кто-нибудь тестировал производительность GCC разных архитектур?
А как ее мерять-то? Ну допустим у меня сейчас в работе проект на p4 2400, а на рабочем месте - i7-2600. Как сравнивать-то? Мои наблюдения говорят о том, что оптимизация под p4 обычно нормально ходит на АМД и более свежих Интелах (с Атомом не работал).
0
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
26.12.2012, 22:21 171
nenin, сравнить очень просто - на одной и той же системе попробовать два компилятора, один собранный под nocona, второй - generic.

Я для себя собирал под nocona, но возможности протестировать на сборке больших проектов не было.

Цитата Сообщение от nenin Посмотреть сообщение
p4 обычно нормально ходит на АМД и более свежих Интелах
Это само собой, так как в новых архитектурах добавляют новые инструкции и регистры, а не убирают старые.
0
2 / 2 / 0
Регистрация: 03.12.2012
Сообщений: 59
27.12.2012, 00:36 172
Цитата Сообщение от Toshkarik Посмотреть сообщение
Это само собой, так как в новых архитектурах добавляют новые инструкции и регистры, а не убирают старые.
Я имею ввиду не расширение инструкций, а оптимизацию.
0
Эксперт С++
4985 / 3092 / 456
Регистрация: 10.11.2010
Сообщений: 11,169
Записей в блоге: 10
27.12.2012, 00:47 173
Можно замерить время компиляции того же GCC, создав при этом одни и те же условия. (Думаю будет плюсом использование SSD-диска)
К сожалению у меня такой возможности нет..
0
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
27.12.2012, 12:30 174
Цитата Сообщение от nenin Посмотреть сообщение
Я имею ввиду не расширение инструкций, а оптимизацию.
Вообще то это и есть оптимизация в данном случае. Используются новые инструкции и регистры. И разница будет только в скорости компиляции, а не в генерируемом коде.
0
2 / 2 / 0
Регистрация: 03.12.2012
Сообщений: 59
27.12.2012, 15:12 175
Цитата Сообщение от Toshkarik Посмотреть сообщение
Вообще то это и есть оптимизация в данном случае. Используются новые инструкции и регистры. И разница будет только в скорости компиляции, а не в генерируемом коде.
Новые инструкции - это одно, а оптимизация (учет длины конвеера, например, или особенностей OoO)- это несколько другое. В этом плане наиболее чувствительные были p4, наиболее индифферентные- P3 и К8.
0
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
27.12.2012, 16:19 176
nenin, в данном случае идет обсуждение опции march, вот собственно ее описание:
-march indicates the instruction set the compiler can use
Так что речь идет именно о наборах инструкций.
0
Эксперт С++
4985 / 3092 / 456
Регистрация: 10.11.2010
Сообщений: 11,169
Записей в блоге: 10
27.12.2012, 22:24 177
А может есть смысл делать сразу несколько сборок? Например для pentium4 (MMX, SSE and SSE2) и тот же самый nocona (64-bit extensions, MMX, SSE, SSE2 and SSE3) !?
Не каждый же день новая версия GCC выходит!
Можно и еще какие-нибудь добавить (например core-avx-i и bdver2), если позволяют время, терпение и средства..
0
Эксперт С++
3211 / 1459 / 74
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
27.12.2012, 22:40  [ТС] 178
lazybiz, эм %)
я озадачен. всерьез озадачен.
Цитата Сообщение от lazybiz Посмотреть сообщение
Не каждый же день новая версия GCC выходит!
да, не каждый день. но ты посмотри на кол-во ревизий только для 4.7.2, и умножь на кол-во вариантов сборок

Alexpux, а ты как считаешь? есть смысл собирать такой зоопарк сборок?
0
Эксперт С++
4985 / 3092 / 456
Регистрация: 10.11.2010
Сообщений: 11,169
Записей в блоге: 10
27.12.2012, 22:54 179
niXman, совсем не обязательно собирать новый GCC при обновлении каждой "свежевыпущенной" либы (моё мнение)) Таким образом можно значительно сократить кол-во ревизий и увеличить кол-во архитектур, тем самым обеспечив тех, кто в этом так нуждается)
0
113 / 22 / 0
Регистрация: 28.10.2012
Сообщений: 37
27.12.2012, 23:04 180
Реально времени очень много уйдет на эту затею. Сборка полного комплекта одной версии gcc под виндой занимает в лучшем случае (без вылетов сборки) около 10-12 часов - это при сборке в несколько потоков.
На данный момент у нас столько свободного времени нету чтобы собрать столько вариантов.

Добавлено через 2 минуты
Цитата Сообщение от lazybiz Посмотреть сообщение
niXman, совсем не обязательно собирать новый GCC при обновлении каждой "свежевыпущенной" либы (моё мнение)) Таким образом можно значительно сократить кол-во ревизий и увеличить кол-во архитектур, тем самым обеспечив тех, кто в этом так нуждается)
В последнее время действительно часто выходили ревизии 4.7.2, но это было связано не столько из-за обновления либ, сколько из-за закрытия обнаруженных багов.
0
27.12.2012, 23:04
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.12.2012, 23:04
Помогаю со студенческими работами здесь

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

Mingw-w64 MinGW TDM-GCC
Всем привет. Хочу понять, существует ли принципиальная разница между Mingw-w64, MinGW и...

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

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru